Class: Redis

Inherits:
Object
  • Object
show all
Includes:
Semian::RedisV5
Defined in:
lib/semian/redis.rb,
lib/semian/redis/v5.rb

Defined Under Namespace

Classes: ConnectionError, OutOfMemoryError, ReadOnlyError, SemianError

Constant Summary collapse

ResourceBusyError =
Class.new(SemianError)
CircuitOpenError =
Class.new(SemianError)
ResolveError =
Class.new(SemianError)

Instance Method Summary collapse

Constructor Details

#initialize(*args, &block) ⇒ Redis

Returns a new instance of Redis.



50
51
52
53
54
55
56
57
# File 'lib/semian/redis.rb', line 50

def initialize(*args, &block)
  _original_initialize(*args, &block)

  # This reference is necessary because during a `pipelined` block the client
  # is replaced by an instance of `Redis::Pipeline` and there is no way to
  # access the original client which references the Semian resource.
  @original_client = _client
end

Instance Method Details

#_clientObject



69
70
71
# File 'lib/semian/redis.rb', line 69

def _client
  @client
end

#_original_initializeObject



48
# File 'lib/semian/redis.rb', line 48

alias_method :_original_initialize, :initialize

#semian_identifierObject



63
64
65
# File 'lib/semian/redis.rb', line 63

def semian_identifier
  semian_resource.name
end

#semian_resourceObject



59
60
61
# File 'lib/semian/redis.rb', line 59

def semian_resource
  @original_client.semian_resource
end