Touch
Touch a parent's collection on ActiveRecord.
Why not just using belongs_to :assoc, touch: true?
The option provided by belongs_to will refresh the updated_at column only. With this gem, you can can have a fine control for each association, making caching easier.
Installation
Add this line to your application's Gemfile:
gem "touch"
And then execute:
$ bundle
Or install it yourself as:
$ gem install touch
Usage
Imagine you have to models:
class User < ActiveRecord::Base
has_many :things
end
class Thing < ActiveRecord::Base
belongs_to :user
touch :user
endThis new ActiveRecord::Base.touch method updates the User#things_updated_at attribute every time a new Thing is created, updated or removed.
It also updates the parent's updated_at field, just like belongs_to :user, touch: true configuration.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request