Module: CacheQuery::ClassMethods

Defined in:
lib/cache_query.rb

Instance Method Summary collapse

Instance Method Details

#cache(cache_name, &block) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/cache_query.rb', line 51

def cache cache_name, &block
  if block_given?
    self.class_cache_keys ||= Set.new
    self.class_cache_keys.add(cache_name)
    Rails.cache.fetch(cache_name) { yield }
  end
end

#cache_allObject



47
48
49
# File 'lib/cache_query.rb', line 47

def cache_all
  Rails.cache.fetch("all_#{name}") { name.constantize.all.to_a }
end

#cache_find(id) ⇒ Object



43
44
45
# File 'lib/cache_query.rb', line 43

def cache_find id
  Rails.cache.fetch([name, id]) { self.find_by_id id }
end