aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorMichael Grosser <michael@grosser.it>2015-11-06 19:33:12 -0800
committerMichael Grosser <michael@grosser.it>2015-11-07 08:47:40 -0800
commit9b7244d07dfecfb5ba0b2e7af414df8c8be83bc5 (patch)
tree4da909c589455514007770c7414ed4b59032d196 /activesupport
parent24bddfc542cf218e395029db3ece4502ae79eb3d (diff)
downloadrails-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.rb35
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