Counter caching for ActiveRecord that can be hooked into your background processing architecture.
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
tasks
test
MIT-LICENSE
README
Rakefile
init.rb
install.rb
uninstall.rb

README

PassiveCounterCache
===================

Adds support for simple counter cache updating that can be hooked into background processing.  Rails counter caching is disabled
and a method is provided to update caches from a background process.


Example
=======

class Cart < ActiveRecord::Base
  has_many :wheels
end

class Wheel < ActiveRecord::Base
  belongs_to :cart, :passive_counter_cache => true
end

Create a cart and four wheels
>> c = Cart.create
>> 4.times do { c.wheels.create }

As part of a BackgroundRb (or similar) scheduled task execute:
>> PassiveCounterCache.update_all_caches!

>> c.reload!
>> c.wheel_count
=> 4

Copyright (c) 2009 Matt Griffin, released under the MIT license