Method: ActiveRecord::ConnectionAdapters::QueryCache::Store#compute_if_absent
- Defined in:
- activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb
#compute_if_absent(key) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb', line 67 def compute_if_absent(key) check_version return yield unless @enabled if entry = @map.delete(key) return @map[key] = entry end if @max_size && @map.size >= @max_size @map.shift # evict the oldest entry end @map[key] ||= yield end |