# This class caches store objects for each cache in the system. class Cachetastic::Connection include Singleton attr_accessor :connections def initialize self.connections = {} end # Takes the name of the cache and returns back the store object associated with the cache. # If the store object doesn't exist of the the store is no longer valid a new one is # created and returned. def get(name) name = name.to_sym conn = self.connections[name] return conn if conn && conn.valid? store = Cachetastic::Stores::Base.get_options(name)["store"].camelcase conn = "Cachetastic::Stores::#{store}".constantize.new(name) self.connections[name.to_sym] = conn return conn end end