diff --git a/lib/middleman/features/asset_host.rb b/lib/middleman/features/asset_host.rb index 4ac03506..342955ae 100644 --- a/lib/middleman/features/asset_host.rb +++ b/lib/middleman/features/asset_host.rb @@ -3,7 +3,7 @@ class Middleman::Base ::Compass.configuration do |config| config.asset_host(&self.asset_host) end - end if self.enabled?(:asset_host) + end if self.enabled?(:asset_host) && self.asset_host && self.asset_host.is_a?(Proc) end class << Middleman::Base @@ -13,15 +13,11 @@ class << Middleman::Base valid_extensions = %w(.png .gif .jpg .jpeg .js .css) - if !self.enabled?(:asset_host) || path.include?("://") || !valid_extensions.include?(File.extname(path)) || !self.asset_host + if !self.enabled?(:asset_host) || path.include?("://") || !valid_extensions.include?(File.extname(path)) || !self.asset_host || !self.asset_host.is_a?(Proc) || !self.asset_host.respond_to?(:call) return original_output end - asset_prefix = if self.asset_host.is_a?(Proc) || self.asset_host.respond_to?(:call) - self.asset_host.call(original_output) - else - (self.asset_host =~ /%d/) ? self.asset_host % (original_output.hash % 4) : self.asset_host - end + asset_prefix = self.asset_host.call(original_output) return File.join(asset_prefix, original_output) end