Module: Redcord::RedisConnection::ClassMethods
- Extended by:
- T::Sig
- Defined in:
- lib/redcord/redis_connection.rb
Instance Method Summary collapse
- #connection_config ⇒ Object
- #establish_connection ⇒ Object
- #prepare_redis!(client = nil) ⇒ Object
- #redis ⇒ Object
- #redis=(redis) ⇒ Object
Instance Method Details
#connection_config ⇒ Object
30 31 32 33 |
# 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 ⇒ Object
41 42 43 |
# File 'lib/redcord/redis_connection.rb', line 41 def establish_connection Redcord::RedisConnection.connections[name.underscore] = prepare_redis! end |
#prepare_redis!(client = nil) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# 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) = client.nil? ? connection_config : client.instance_variable_get(:@options) client = if [:pool] Redcord::ConnectionPool.new( pool_size: [:pool], timeout: [:connection_timeout] || 1.0, ** ) else Redcord::Redis.new(**, logger: Redcord::Logger.proxy) end client.ping client end |
#redis ⇒ Object
36 37 38 |
# File 'lib/redcord/redis_connection.rb', line 36 def redis Redcord::RedisConnection.connections[name.underscore] ||= prepare_redis! end |
#redis=(redis) ⇒ Object
46 47 48 49 |
# File 'lib/redcord/redis_connection.rb', line 46 def redis=(redis) Redcord::RedisConnection.connections[name.underscore] = prepare_redis!(redis) end |