Module: Caching::InstanceMethods
- Defined in:
- lib/caching.rb
Instance Method Summary collapse
Instance Method Details
#cache_storage ⇒ Object
24 25 26 |
# File 'lib/caching.rb', line 24 def cache_storage @cache_storage ||= Storage.new end |
#cached_methods_keys ⇒ Object
28 29 30 |
# File 'lib/caching.rb', line 28 def cached_methods_keys @cached_methods_keys ||= Hash.new {|h,k| h[k] = Set.new} end |
#clear_cache(*methods) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/caching.rb', line 32 def clear_cache(*methods) method_keys = cached_methods_keys. select{ |m,_| methods.include? m }. flat_map{ |_,keys| keys.to_a } cache_storage.clear *method_keys method_keys.each { |k| cached_methods_keys.delete k } end |