Module: Trebuchet::Backend

Defined in:
lib/trebuchet/backend.rb

Defined Under Namespace

Classes: Disabled, Memcached, Memory, Redis, RedisCached, RedisHammerspaced

Class Method Summary collapse

Class Method Details

.lookup(name) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/trebuchet/backend.rb', line 3

def self.lookup(name)
  # From ActiveSupport::Inflector.camelize
  const_name = name.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }

  if const_defined?(const_name)
    const_get(const_name)
  else
    raise ArgumentError.new("Unknown backend type #{name}")
  end
end