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
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