Sha256: d48db5efcbddc6621ea47c1c41bbd828ef544a6263bc4038606fd389b11f18c4

Contents?: true

Size: 788 Bytes

Versions: 38

Compression:

Stored size: 788 Bytes

Contents

begin
  require "yui/compressor"
rescue LoadError
  puts "YUI-Compressor not available. Install it with: gem install yui-compressor"
end
  
module Middleman
  module Rack
  
    class MinifyJavascript
      def initialize(app, options={})
        @app = app
      end

      def call(env)
        status, headers, response = @app.call(env)
    
        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
        end
    
        [status, headers, response]
      end
    end
    
  end
end

Version data entries

38 entries across 38 versions & 2 rubygems

Version Path
beans-middleman-1.0.14 lib/middleman/features/minify_javascript/rack.rb
beans-middleman-1.0.13 lib/middleman/features/minify_javascript/rack.rb
beans-middleman-1.0.12 lib/middleman/features/minify_javascript/rack.rb
beans-middleman-1.0.11 lib/middleman/features/minify_javascript/rack.rb
beans-middleman-1.0.9 lib/middleman/features/minify_javascript/rack.rb
middleman-1.2.0 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.6 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.5 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.4 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.3 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.2 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.1.a lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.0.1 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.0.beta.8 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.0.beta.7 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.0.beta.6 lib/middleman/features/minify_javascript/rack.rb
middleman-1.1.0.beta.5 lib/middleman/features/minify_javascript/rack.rb
beans-middleman-1.0.8 lib/middleman/features/minify_javascript/rack.rb
beans-middleman-1.0.7 lib/middleman/features/minify_javascript/rack.rb
beans-middleman-1.0.6 lib/middleman/features/minify_javascript/rack.rb