heroku_asset_cacher

Force Rails' javascript and stylesheet caches to work on Heroku

MIT License

Stars
12

= Heroku Asset Cacher

This plugin will override the caching options of Rails helpers: javascript_include_tag and stylesheet_link_tag. It will instruct them to place their cached assets into the Rails /tmp directory, the only writeable directory in Heroku. It then adds some Rack middleware to route requests for those files to the /tmp directory.

== Install

script/plugin install http://github.com/mgomes/heroku_asset_cacher.git

== Usage

This plugin will only override the requests for all.js and all.css. So please use the convention of naming your cached JS and CSS assets: all.js and all.css, respectively. (these are the default naming conventions). Here is an example:

javascript_include_tag :all, :cache => true stylesheet_link_tag :all, :cache => true

Or you can specify individual files to cache, as such:

javascript_include_tag 'jquery', 'jquery.tooltip', :cache => true stylesheet_link_tag 'main_design', 'secondary_design', :cache => true

Files that are not included in the all.js or all.css bundle will still be served from their original directories.

== Clearing the cached assets

You can run the following rake task on Heroku to regenerate your cached assets:

rake asset_cache:clear

== Testing

To run the test suite:

rake test

To try out Heroku Asset Cacher in development, you can set the following option in environment.rb:

ActionController::Base.perform_caching = true

== Previous Art

This plugin is based off of the work by Matthew Savage in his {Heroku Asset Packager}[http://github.com/amasses/heroku_asset_packager] plugin.

== Author

Copyright (c) 2010 Mauricio Gomes, released under the MIT license

Related Projects