Hello all,
I have a small patch at http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/832-expire_fragment_by_glob-for-file-based-fragment-caching/ and I'd be interested in your feedback. It is extracted from my current project; motivation was to easily expire file-based fragments for different hostnames where application runs.
It adds expire_fragment_by_glob() method to ActionController::Caching::Fragments and takes the "glob" string as argument, same as the Ruby's `Dir` or `Dir#glob`, which I think is great option for matching filesystem paths.
I don't know if file-based fragment cache is getting out of fashion in current development, so would like to know your opinion.
Example:
expire_fragment_by_glob('events/{theatre,movie}') expire_fragment_by_glob('program/**/*')
I added another method, because there is complex switching logic in expire_fragment (Hash? Regexp?) already. Maybe someone more knowledgeable could refactor it with something like key.is_a?(String) && key.include?('*') in the expire_fragment() method... I am quite sure the implementation could be done better :), but I don't know my way around Rails so well....
Here's the gist of it: http://gist.github.com/5708 (same as attachment to Lighthouse ticket, but with syntax coloring)
Thanks!,
Karel