Module: Kcache::MultiFetch
- Defined in:
- lib/kcache/multi_fetch.rb
Class Method Summary collapse
Class Method Details
.fetch_multi(k, objects) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/kcache/multi_fetch.rb', line 3 def self.fetch_multi k, objects results = {} keys = objects.collect { |o| "#{o.class.base_class.name.downcase}/#{o.id.to_s}/#{k}" } hits = Rails.cache.read_multi(*keys) keys.each_with_index do |key, i| results[objects[i].id.to_i] = if hits.include?(key) hits[key] else objects[i].try(k) end end results end |