Module: Moneta::IncrementSupport Private
- Included in:
- Adapters::LRUHash, Adapters::Memory, Adapters::Sqlite, WeakIncrement
- Defined in:
- lib/moneta/mixins.rb
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Class Method Summary collapse
- .included(base) ⇒ Object private
Instance Method Summary collapse
-
#increment(key, amount = 1, options = {}) ⇒ Object
Atomically increment integer value with key.
Class Method Details
.included(base) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
231 232 233 |
# File 'lib/moneta/mixins.rb', line 231 def self.included(base) base.supports(:increment) if base.respond_to?(:supports) end |
Instance Method Details
#increment(key, amount = 1, options = {}) ⇒ Object
Note:
Not every Moneta store implements this method, a NotImplementedError is raised if it is not supported.
Atomically increment integer value with key
This method also accepts negative amounts.
225 226 227 228 229 |
# File 'lib/moneta/mixins.rb', line 225 def increment(key, amount = 1, = {}) value = Utils.to_int(load(key, )) + amount store(key, value.to_s, ) value end |