SetCounters
Similar to ARModel.update_counters, ARModel.set_counters simply sets multiple fields to their integer values. No adding/substracting, just setting. Yes, this could be done using update_all, but this seems nicer to me.
Installation
Add this line to your application's Gemfile:
gem 'set_counters'
And then execute:
$ bundle
Or install it yourself as:
$ gem install set_counters
Usage
# For the Post with id of 5, set the comment_count to 1, and
# set the action_count to 2
Post.set_counters 5, :comment_count => 1, :action_count => 2
# Executes the following SQL:
# UPDATE posts
# SET comment_count = 1,
# action_count = 2
# WHERE id = 5
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