class I18n::Tasks::Concurrent::Cache
A thread-safe cache. @since 0.9.25
Public Class Methods
Source
# File lib/i18n/tasks/concurrent/cache.rb, line 9 def initialize @mutex = Mutex.new @map = {} end
Public Instance Methods
Source
# File lib/i18n/tasks/concurrent/cache.rb, line 16 def fetch(key, &block) @mutex.synchronize do @map[key] ||= CachedValue.new(&block) end.get end
@param [Object] key @return [Object] Cached or computed value.