Class: Cashier::Adapters::CacheStore
- Inherits:
-
Object
- Object
- Cashier::Adapters::CacheStore
- Defined in:
- lib/cashier/adapters/cache_store.rb
Class Method Summary collapse
- .add_tags_containers(tags, containers) ⇒ Object
- .clear ⇒ Object
- .delete_tag(tag) ⇒ Object
- .get_fragments_for_tag(tag) ⇒ Object
- .get_tags_containers(tags) ⇒ Object
- .keys ⇒ Object
- .remove_tags(tags) ⇒ Object
- .store_fragment_in_tag(fragment, tag) ⇒ Object
- .store_tags(tags) ⇒ Object
- .tags ⇒ Object
Class Method Details
.add_tags_containers(tags, containers) ⇒ Object
55 56 57 58 59 60 61 62 |
# File 'lib/cashier/adapters/cache_store.rb', line 55 def self.(, containers) .each do |tag| cache_key = Cashier::container_cache_key(tag) existing_containers = Rails.cache.fetch(cache_key) || [] all_containers = (existing_containers + containers).flatten.uniq Rails.cache.write(cache_key, all_containers) end end |
.clear ⇒ Object
36 37 38 39 |
# File 'lib/cashier/adapters/cache_store.rb', line 36 def self.clear () Rails.cache.delete(Cashier::CACHE_KEY) end |
.delete_tag(tag) ⇒ Object
32 33 34 |
# File 'lib/cashier/adapters/cache_store.rb', line 32 def self.delete_tag(tag) Rails.cache.delete(tag) end |
.get_fragments_for_tag(tag) ⇒ Object
28 29 30 |
# File 'lib/cashier/adapters/cache_store.rb', line 28 def self.get_fragments_for_tag(tag) Rails.cache.read(tag) || [] end |
.get_tags_containers(tags) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/cashier/adapters/cache_store.rb', line 45 def self.() all_containers = [] .each do |tag| cache_key = Cashier::container_cache_key(tag) containers = Rails.cache.fetch(cache_key) || [] all_containers += containers end return all_containers.flatten.uniq end |
.keys ⇒ Object
41 42 43 |
# File 'lib/cashier/adapters/cache_store.rb', line 41 def self.keys .inject([]) { |arry, tag| arry += Rails.cache.fetch(tag) }.compact end |
.remove_tags(tags) ⇒ Object
18 19 20 21 22 |
# File 'lib/cashier/adapters/cache_store.rb', line 18 def self.() = Rails.cache.fetch(Cashier::CACHE_KEY) || [] = ( - ).uniq Rails.cache.write(Cashier::CACHE_KEY, ) end |
.store_fragment_in_tag(fragment, tag) ⇒ Object
4 5 6 7 8 |
# File 'lib/cashier/adapters/cache_store.rb', line 4 def self.store_fragment_in_tag(fragment, tag) fragments = Rails.cache.fetch(tag) || [] new_fragments = fragments + [fragment] Rails.cache.write(tag, new_fragments) end |