method
write_entry
v4.2.7 -
Show latest stable
- Class:
ActiveSupport::Cache::MemoryStore
write_entry(key, entry, options)protected
No documentation available.
# File activesupport/lib/active_support/cache/memory_store.rb, line 145
def write_entry(key, entry, options) # :nodoc:
entry.dup_value!
synchronize do
old_entry = @data[key]
return false if @data.key?(key) && options[:unless_exist]
if old_entry
@cache_size -= (old_entry.size - entry.size)
else
@cache_size += cached_size(key, entry)
end
@key_access[key] = Time.now.to_f
@data[key] = entry
prune(@max_size * 0.75, @max_prune_time) if @cache_size > @max_size
true
end
end