class ActiveSupport::Cache::MemoryStore
def write_entry(key, entry, **options)
def write_entry(key, entry, **options) payload = serialize_entry(entry, **options) synchronize do return false if options[:unless_exist] && exist?(key, namespace: nil) old_payload = @data[key] if old_payload @cache_size -= (old_payload.bytesize - payload.bytesize) else @cache_size += cached_size(key, payload) end @data[key] = payload prune(@max_size * 0.75, @max_prune_time) if @cache_size > @max_size true end end