diff --git a/lib/middleman/features/minify_javascript/rack.rb b/lib/middleman/features/minify_javascript/rack.rb index c58e5966..b48b40ce 100644 --- a/lib/middleman/features/minify_javascript/rack.rb +++ b/lib/middleman/features/minify_javascript/rack.rb @@ -18,9 +18,14 @@ module Middleman if env["PATH_INFO"].match(/\.js$/) compressor = ::YUI::JavaScriptCompressor.new(:munge => true) - uncompressed_source = response.is_a?(::Rack::File) ? File.read(response.path) : response - response = compressor.compress(uncompressed_source) - headers["Content-Length"] = ::Rack::Utils.bytesize(response).to_s + if response.is_a?(::Rack::File) or response.is_a?(Sinatra::Helpers::StaticFile) + uncompressed_source = File.read(response.path) + else + uncompressed_source = response.join + end + minified = compressor.compress(uncompressed_source) + headers["Content-Length"] = ::Rack::Utils.bytesize(minified).to_s + response = [minified] end [status, headers, response] @@ -28,4 +33,4 @@ module Middleman end end -end \ No newline at end of file +end