Simple asset caching, without time-based expiry. Adds support for turbo-sprockets-rails3
#43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an alternative to #42, which simply removes any assets that aren't referenced by
manifest.yml
.It provides a strong guarantee that the
public/assets
cache won't grow out of control, by clearing the cache if any exceptions are raised during the cleanup. I know it's usually not a good idea torescue Exception
, but you never know what might happen when you're dealing with 2.2 million apps. Anything could be monkey-patched by a rogue gem, and anything could break :)Since most Rails 3 apps won't benefit from this caching unless they are using my
turbo-sprockets-rails3
gem, I think it would be appropriate to add the following conditional:Let me know what you think about that.
Note that
cache_load "public/assets"
at the beginning doesn't need to be conditional, since it just won't do anything ifpublic/assets
isn't cached.