class Middleman::Rack::Sprockets

def call(env)

def call(env)
  path   = env["PATH_INFO"]
  source = File.join(Middleman::Base.views, path)
      
  if path.match(/\.js$/) && File.exists?(source)
    secretary = ::Sprockets::Secretary.new( :root   => Middleman::Base.root,
                                            :source_files => [ File.join("views", path) ],
                                            :load_path    => [ File.join("public", Middleman::Base.js_dir),
                                                               File.join("views", Middleman::Base.js_dir) ])
    
    result = secretary.concatenation.to_s
    
    if @app.class.respond_to?(:minify_javascript?) && @app.class.minify_javascript?
      compressor = ::YUI::JavaScriptCompressor.new(:munge => true)
      result = compressor.compress(result)
    end
    [200, { "Content-Type" => "text/javascript" }, [result]]
  else
    @app.call(env)
  end
end