Class: Cashier::Adapters::RedisStore
- Inherits:
-
Object
- Object
- Cashier::Adapters::RedisStore
- Defined in:
- lib/cashier/adapters/redis_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
- .redis ⇒ Object
- .redis=(redis_instance) ⇒ 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
52 53 54 55 56 57 58 |
# File 'lib/cashier/adapters/redis_store.rb', line 52 def self.(, containers) return if !containers || containers.empty? .each do |tag| cache_key = Cashier::container_cache_key(tag) redis.sadd(cache_key, containers.flatten) end end |
.clear ⇒ Object
36 37 38 39 |
# File 'lib/cashier/adapters/redis_store.rb', line 36 def self.clear () redis.del(Cashier::CACHE_KEY) end |
.delete_tag(tag) ⇒ Object
32 33 34 |
# File 'lib/cashier/adapters/redis_store.rb', line 32 def self.delete_tag(tag) redis.del(tag) end |
.get_fragments_for_tag(tag) ⇒ Object
28 29 30 |
# File 'lib/cashier/adapters/redis_store.rb', line 28 def self.get_fragments_for_tag(tag) redis.smembers(tag) || [] end |
.get_tags_containers(tags) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/cashier/adapters/redis_store.rb', line 45 def self.() all_containers = [] cache_keys = .map { |tag| Cashier::container_cache_key(tag) } all_containers = redis.sunion(*cache_keys) return all_containers end |
.keys ⇒ Object
41 42 43 |
# File 'lib/cashier/adapters/redis_store.rb', line 41 def self.keys .inject([]) { |arry, tag| arry += get_fragments_for_tag(tag) }.compact end |
.redis ⇒ Object
4 5 6 |
# File 'lib/cashier/adapters/redis_store.rb', line 4 def self.redis @@redis end |
.redis=(redis_instance) ⇒ Object
8 9 10 |
# File 'lib/cashier/adapters/redis_store.rb', line 8 def self.redis=(redis_instance) @@redis = redis_instance end |
.remove_tags(tags) ⇒ Object
20 21 22 |
# File 'lib/cashier/adapters/redis_store.rb', line 20 def self.() .each { |tag| redis.srem(Cashier::CACHE_KEY, tag) } end |
.store_fragment_in_tag(fragment, tag) ⇒ Object
12 13 14 |
# File 'lib/cashier/adapters/redis_store.rb', line 12 def self.store_fragment_in_tag(fragment, tag) redis.sadd(tag, fragment) end |