Sha256: bdb552a927ab97d124aa0410e64d7801776febf687b3195033feb4cea6ce6eab
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
module Cashier module Adapters class CacheStore def self.store_fragment_in_tag(fragment, tag) fragments = Rails.cache.fetch(tag) || [] new_fragments = fragments + [fragment] Rails.cache.write(tag, new_fragments) end def self.store_tags(tags) cashier_tags = Rails.cache.fetch(Cashier::CACHE_KEY) || [] cashier_tags = (cashier_tags + tags).uniq Rails.cache.write(Cashier::CACHE_KEY, cashier_tags) end def self.remove_tags(tags) cashier_tags = Rails.cache.fetch(Cashier::CACHE_KEY) || [] cashier_tags = (cashier_tags - tags).uniq Rails.cache.write(Cashier::CACHE_KEY, cashier_tags) end def self.tags Rails.cache.read(Cashier::CACHE_KEY) || [] end def self.get_fragments_for_tag(tag) Rails.cache.read(tag) || [] end def self.delete_tag(tag) Rails.cache.delete(tag) end def self.clear remove_tags(tags) Rails.cache.delete(Cashier::CACHE_KEY) end def self.keys tags.inject([]) { |arry, tag| arry += Rails.cache.fetch(tag) }.compact end def self.get_tags_containers(tags) all_containers = [] tags.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 def self.add_tags_containers(tags, containers) tags.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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cashier-ftbpro-0.5.0 | lib/cashier/adapters/cache_store.rb |