module Redcord::RedisConnection::ClassMethods
Public Instance Methods
connection_config()
click to toggle source
# File lib/redcord/redis_connection.rb, line 30 def connection_config env_config = Redcord::Base.configurations[Rails.env] (env_config[name.underscore] || env_config['default']).symbolize_keys end
establish_connection()
click to toggle source
# File lib/redcord/redis_connection.rb, line 41 def establish_connection Redcord::RedisConnection.connections[name.underscore] = prepare_redis! end
prepare_redis!(client = nil)
click to toggle source
# File lib/redcord/redis_connection.rb, line 57 def prepare_redis!(client = nil) return client if client.is_a?(Redcord::Redis) || client.is_a?(Redcord::ConnectionPool) options = client.nil? ? connection_config : client.instance_variable_get(:@options) client = if options[:pool] Redcord::ConnectionPool.new( pool_size: options[:pool], timeout: options[:connection_timeout] || 1.0, **options ) else Redcord::Redis.new(**options, logger: Redcord::Logger.proxy) end client.ping client end
redis()
click to toggle source
# File lib/redcord/redis_connection.rb, line 36 def redis Redcord::RedisConnection.connections[name.underscore] ||= prepare_redis! end
redis=(redis)
click to toggle source
# File lib/redcord/redis_connection.rb, line 46 def redis=(redis) Redcord::RedisConnection.connections[name.underscore] = prepare_redis!(redis) end