diff options
author | Michael Grosser <michael@grosser.it> | 2015-11-06 19:33:12 -0800 |
---|---|---|
committer | Michael Grosser <michael@grosser.it> | 2015-11-07 08:47:40 -0800 |
commit | 9b7244d07dfecfb5ba0b2e7af414df8c8be83bc5 (patch) | |
tree | 4da909c589455514007770c7414ed4b59032d196 /activesupport | |
parent | 24bddfc542cf218e395029db3ece4502ae79eb3d (diff) | |
download | rails-9b7244d07dfecfb5ba0b2e7af414df8c8be83bc5.tar.gz rails-9b7244d07dfecfb5ba0b2e7af414df8c8be83bc5.tar.bz2 rails-9b7244d07dfecfb5ba0b2e7af414df8c8be83bc5.zip |
dry up increment/decrement
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/cache/memory_store.rb | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/activesupport/lib/active_support/cache/memory_store.rb b/activesupport/lib/active_support/cache/memory_store.rb index 90bb2c38c3..896c28ad8b 100644 --- a/activesupport/lib/active_support/cache/memory_store.rb +++ b/activesupport/lib/active_support/cache/memory_store.rb @@ -75,30 +75,12 @@ module ActiveSupport # Increment an integer value in the cache. def increment(name, amount = 1, options = nil) - synchronize do - options = merged_options(options) - if num = read(name, options) - num = num.to_i + amount - write(name, num, options) - num - else - nil - end - end + modify_value(name, amount, options) end # Decrement an integer value in the cache. def decrement(name, amount = 1, options = nil) - synchronize do - options = merged_options(options) - if num = read(name, options) - num = num.to_i - amount - write(name, num, options) - num - else - nil - end - end + modify_value(name, -amount, options) end def delete_matched(matcher, options = nil) @@ -167,6 +149,19 @@ module ActiveSupport !!entry end end + + private + + def modify_value(name, amount, options) + synchronize do + options = merged_options(options) + if num = read(name, options) + num = num.to_i + amount + write(name, num, options) + num + end + end + end end end end |