Rack::Cat
April 22, 2010 ยท View on GitHub
A Rack middleware to concatenate your assets (static, dynamic and remote) and serve javascripts and stylesheets faster.
Currently it supports concatenating static files (read from disk) and dynamic pages (read from the app itself). Remote file support will become reality when I find someone who needs it ;)
Usage
Use like any other Rack middleware. Rack::Cat constructor takes an options hash as a second argument:
{ :bundles => { "/all.css" => [ "/stylesheets/layout.css", "/stylesheets/widgets.css"], "/all.js" => [ "/javascripts/jquery.js", "/javascripts/application.js"] }, :sources => ["tmp/public", "public"], # directiories to search for files (that tmp/public comes handy if you use heroku) :destination => "public", # directory to write files to ("tmp/public" on heroku) :debug => Rails.env.development? # regenerate files on each request (for use in development mode) }
So in Rails you would type in config/environment.rb:
config.middleware.use Rack::Cat, { options hash like the above one here }
Contribute
Fork. Commit. Send pull requests.
Author
Jacek Becela http://github.com/ncr
License
MIT