https://github.com/jetrockets/activerecord-update_counters_with_values
Update ActiveRecord counter and update instance value
https://github.com/jetrockets/activerecord-update_counters_with_values
active-record activerecord hacks rails ruby ruby-on-rails
Last synced: 9 months ago
JSON representation
Update ActiveRecord counter and update instance value
- Host: GitHub
- URL: https://github.com/jetrockets/activerecord-update_counters_with_values
- Owner: jetrockets
- License: mit
- Created: 2018-07-13T20:10:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-01-15T19:57:36.000Z (almost 7 years ago)
- Last Synced: 2025-02-09T08:19:21.976Z (11 months ago)
- Topics: active-record, activerecord, hacks, rails, ruby, ruby-on-rails
- Language: Ruby
- Size: 13.7 KB
- Stars: 3
- Watchers: 8
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ActiveRecord::UpdateCountersWithValues
Update ActiveRecord counter and update instance value
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'activerecord-update_counters_with_values', require: 'active_record/update_counters_with_values'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install activerecord-update_counters_with_values
## Usage
```ruby
class MyModel < ActiveRecord::Base
include Activerecord::UpdateCountersWithValues
#...
end
```
### Class methods
```ruby
MyModel.update_counters_and_return_values(1, comments_count: 1)
MyModel.update_counters_and_return_values(1, comments_count: 1, another_count: 2)
MyModel.update_counters_and_return_values([1,2], comments_count: 1, another_count: 2)
MyModel.increment_counter_and_return_value(1, :comments_count)
MyModel.decrement_counter_and_return_value(1, :comments_count)
```
### Instance methods
```ruby
document = Document.first
document.update_counters_with_values(comments_count: 1)
document.update_counters_with_values(comments_count: 1, another_count: 2)
document.increment_counter_with_value(:comments_count)
document.decrement_counter_with_value(:comments_count)
```
## Credits
Sponsored by [JetRockets](http://www.jetrockets.pro).

## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).