Sha256: cd049af26db04a7cd76cf4dc6248ecad785584b9be20b1d2282245ed0643e4f3

Contents?: true

Size: 787 Bytes

Versions: 15

Compression:

Stored size: 787 Bytes

Contents

# This class caches adapter 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, that's been methodized, and returns back the adapter object associated with the cache.
  # If the adapter object doesn't exist or if the adapter is no longer valid (adapter.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?
    adapter = Cachetastic::Adapters::Base.get_options(name)["adapter"].camelcase
    conn = "Cachetastic::Adapters::#{adapter}".constantize.new(name)
    self.connections[name.to_sym] = conn
    return conn
  end
  
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
cachetastic-1.2.7.1 lib/cachetastic_connection.rb
cachetastic-1.3.0 lib/cachetastic_connection.rb
cachetastic-1.4.1 lib/cachetastic_connection.rb
cachetastic-1.5.0 lib/cachetastic_connection.rb
cachetastic-1.6.0 lib/cachetastic_connection.rb
cachetastic-1.2.1 lib/cachetastic_connection.rb
cachetastic-1.2.2 lib/cachetastic_connection.rb
cachetastic-1.2.3 lib/cachetastic_connection.rb
cachetastic-1.3.1 lib/cachetastic_connection.rb
cachetastic-1.4.0 lib/cachetastic_connection.rb
cachetastic-1.4.2 lib/cachetastic_connection.rb
cachetastic-1.7.0 lib/cachetastic_connection.rb
cachetastic-1.7.2 lib/cachetastic_connection.rb
cachetastic-1.7.3 lib/cachetastic_connection.rb
cachetastic-1.7.4 lib/cachetastic_connection.rb