You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
47 lines
1.2 KiB
require 'dalli/compressor'
|
|
require 'dalli/client'
|
|
require 'dalli/ring'
|
|
require 'dalli/server'
|
|
require 'dalli/socket'
|
|
require 'dalli/version'
|
|
require 'dalli/options'
|
|
require 'dalli/railtie' if defined?(::Rails::Railtie)
|
|
|
|
module Dalli
|
|
# generic error
|
|
class DalliError < RuntimeError; end
|
|
# socket/server communication error
|
|
class NetworkError < DalliError; end
|
|
# no server available/alive error
|
|
class RingError < DalliError; end
|
|
# application error in marshalling serialization
|
|
class MarshalError < DalliError; end
|
|
# application error in marshalling deserialization or decompression
|
|
class UnmarshalError < DalliError; end
|
|
|
|
def self.logger
|
|
@logger ||= (rails_logger || default_logger)
|
|
end
|
|
|
|
def self.rails_logger
|
|
(defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger) ||
|
|
(defined?(RAILS_DEFAULT_LOGGER) && RAILS_DEFAULT_LOGGER.respond_to?(:debug) && RAILS_DEFAULT_LOGGER)
|
|
end
|
|
|
|
def self.default_logger
|
|
require 'logger'
|
|
l = Logger.new(STDOUT)
|
|
l.level = Logger::INFO
|
|
l
|
|
end
|
|
|
|
def self.logger=(logger)
|
|
@logger = logger
|
|
end
|
|
|
|
end
|
|
|
|
if defined?(RAILS_VERSION) && RAILS_VERSION < '3'
|
|
raise Dalli::DalliError, "Dalli #{Dalli::VERSION} does not support Rails version < 3.0"
|
|
end
|