Sha256: 4060d7f9e883b52009d764f321d83e78f73d921e8d6e4ed88aec0b6a994a393d
Contents?: true
Size: 1.25 KB
Versions: 22
Compression:
Stored size: 1.25 KB
Contents
module CanTango module Cache class MonetaCache include Singleton attr_reader :options def configure_with options = {} @options ||= options @type ||= options[:type] || CanTango.config.cache.store.default_type end def load! key cache[key] end def save! key, rules cache.store key, rules end def delete key cache.delete key end def cache @cache ||= begin moneta = eval(factory_statement) moneta.clear moneta end end def factory_statement %{ ::Moneta::Builder.build do #{run_adapter} end } end def run_adapter case type.to_sym when :yaml yaml_adapter else simple_adapter end end def yaml_adapter "run #{adapter}, #{options}" end def simple_adapter "run #{adapter}" end def type (@type == :yaml) ? :YAML : @type end def adapter require "moneta/adapters/#{type}" @adapter = "Moneta::Adapters::#{type.to_s.camelize}".constantize end end end end
Version data entries
22 entries across 22 versions & 1 rubygems