class ActiveSupport::Cache::MemoryStore
def modify_value(name, amount, options)
Modifies the amount of an integer value that is stored in the cache.
def modify_value(name, amount, options) options = merged_options(options) key = normalize_key(name, options) version = normalize_version(name, options) synchronize do entry = read_entry(key, **options) if !entry || entry.expired? || entry.mismatched?(version) write(name, Integer(amount), options) amount else num = entry.value.to_i + amount entry = Entry.new(num, expires_at: entry.expires_at, version: entry.version) write_entry(key, entry) num end end end