module Vanity::Adapters

Public Class Methods

active_record_connection(spec) click to toggle source

Creates new ActiveRecord connection and returns ActiveRecordAdapter.

# File lib/vanity/adapters/active_record_adapter.rb, line 5
def active_record_connection(spec)
  require "active_record"
  ActiveRecordAdapter.new(spec)
end
establish_connection(spec) click to toggle source

Creates new connection to underlying datastore and returns suitable adapter (adapter object extends AbstractAdapter and wraps the connection).

@since 1.4.0

# File lib/vanity/adapters.rb, line 9
def establish_connection(spec)
  begin
    require "vanity/adapters/#{spec[:adapter]}_adapter"
  rescue LoadError
    raise "Could not find #{spec[:adapter]} in your load path"
  end
  adapter_method = "#{spec[:adapter]}_connection"
  send(adapter_method, spec)
end
mock_connection(spec) click to toggle source

Creates and returns new MockAdapter.

@since 1.4.0

# File lib/vanity/adapters/mock_adapter.rb, line 7
def mock_connection(spec)
  MockAdapter.new(spec)
end
mongo_connection(spec) click to toggle source

Creates new connection to MongoDB and returns MongoAdapter.

@since 1.4.0

# File lib/vanity/adapters/mongodb_adapter.rb, line 7
def mongo_connection(spec)
  require "mongo"
  MongodbAdapter.new(spec)
end
Also aliased as: mongodb_connection
mongodb_connection(spec)
Alias for: mongo_connection
redis_connection(spec) click to toggle source

Creates new connection to Redis and returns RedisAdapter.

@since 1.4.0

# File lib/vanity/adapters/redis_adapter.rb, line 7
def redis_connection(spec)
  require "redis"
  fail "redis >= 2.1 is required" unless valid_redis_version?
  require "redis/namespace"
  fail "redis-namespace >= 1.1.0 is required" unless valid_redis_namespace_version?

  RedisAdapter.new(spec)
end
valid_redis_namespace_version?() click to toggle source
# File lib/vanity/adapters/redis_adapter.rb, line 20
def valid_redis_namespace_version?
  Gem.loaded_specs['redis'].version >= Gem::Version.create('1.1.0')
end
valid_redis_version?() click to toggle source
# File lib/vanity/adapters/redis_adapter.rb, line 16
def valid_redis_version?
  Gem.loaded_specs['redis'].version >= Gem::Version.create('2.1')
end