class Redis::Client

Constants

ERROR_MAPPING

Public Class Methods

config(**kwargs) click to toggle source
Calls superclass method
# File lib/redis/client.rb, line 22
def config(**kwargs)
  super(protocol: 2, **kwargs)
end
sentinel(**kwargs) click to toggle source
Calls superclass method
# File lib/redis/client.rb, line 26
def sentinel(**kwargs)
  super(protocol: 2, **kwargs, client_implementation: ::RedisClient)
end
translate_error!(error, mapping: ERROR_MAPPING) click to toggle source
# File lib/redis/client.rb, line 30
def translate_error!(error, mapping: ERROR_MAPPING)
  redis_error = translate_error_class(error.class, mapping: mapping)
  raise redis_error, error.message, error.backtrace
end

Private Class Methods

translate_error_class(error_class, mapping: ERROR_MAPPING) click to toggle source
# File lib/redis/client.rb, line 37
def translate_error_class(error_class, mapping: ERROR_MAPPING)
  mapping.fetch(error_class)
rescue IndexError
  if (client_error = error_class.ancestors.find { |a| mapping[a] })
    mapping[error_class] = mapping[client_error]
  else
    raise
  end
end

Public Instance Methods

blocking_call_v(timeout, command, &block) click to toggle source
Calls superclass method
# File lib/redis/client.rb, line 95
def blocking_call_v(timeout, command, &block)
  if timeout && timeout > 0
    # Can't use the command timeout argument as the connection timeout
    # otherwise it would be very racy. So we add the regular read_timeout on top
    # to account for the network delay.
    timeout += config.read_timeout
  end

  super(timeout, command, &block)
rescue ::RedisClient::Error => error
  Client.translate_error!(error)
end
call_v(command, &block) click to toggle source
Calls superclass method
# File lib/redis/client.rb, line 89
def call_v(command, &block)
  super(command, &block)
rescue ::RedisClient::Error => error
  Client.translate_error!(error)
end
db() click to toggle source
# File lib/redis/client.rb, line 60
def db
  config.db
end
host() click to toggle source
# File lib/redis/client.rb, line 64
def host
  config.host unless config.path
end
id() click to toggle source
# File lib/redis/client.rb, line 48
def id
  config.id
end
inherit_socket!() click to toggle source
# File lib/redis/client.rb, line 120
def inherit_socket!
  @inherit_socket = true
end
multi(watch: nil) click to toggle source
Calls superclass method
# File lib/redis/client.rb, line 114
def multi(watch: nil)
  super
rescue ::RedisClient::Error => error
  Client.translate_error!(error)
end
password() click to toggle source
# File lib/redis/client.rb, line 80
def password
  config.password
end
path() click to toggle source
# File lib/redis/client.rb, line 72
def path
  config.path
end
pipelined(exception: true) click to toggle source
Calls superclass method
# File lib/redis/client.rb, line 108
def pipelined(exception: true)
  super
rescue ::RedisClient::Error => error
  Client.translate_error!(error)
end
port() click to toggle source
# File lib/redis/client.rb, line 68
def port
  config.port unless config.path
end
server_url() click to toggle source
# File lib/redis/client.rb, line 52
def server_url
  config.server_url
end
timeout() click to toggle source
# File lib/redis/client.rb, line 56
def timeout
  config.read_timeout
end
username() click to toggle source
# File lib/redis/client.rb, line 76
def username
  config.username
end