/group_cache_key

Adds a cache_key method to ActiveRecord collections

Primary LanguageRubyMIT LicenseMIT

group_cache_key

Using this gem in an application using ActiveRecord will provide you with a ‘cache_key’ method on collections of models.

The ‘cache_key’ will consist of:

  • the tableized name of the class of the first item

  • an MD5 hash of the ids in the collection

  • to_i on the max created_at date

  • to_i on the max updated_at date

The ‘cache_key’ should look like:

'widgets/100-81dc9bdb52d04dc20036dbd8313ed055-1256853629-1256853637'

The resulting cache_key will be different if your group is sorted differently because the MD5 hash is created according to the order given: no sorting is done to create the hash.

If your collection is empty, the cache_key will return a key with the object_id. A cache_key for an empty collection will look like:

'empty/13149280'

Built by Saturn Flyer www.saturnflyer.com

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but

    bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

Copyright © 2009 Jim Gay. See LICENSE for details.