Class: Redis

Inherits:
Object
  • Object
show all
Defined in:
lib/semian/redis.rb

Defined Under Namespace

Classes: OutOfMemoryError, 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.



24
25
26
27
28
29
30
31
# File 'lib/semian/redis.rb', line 24

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



43
44
45
# File 'lib/semian/redis.rb', line 43

def _client
  @client
end

#_original_initializeObject



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

alias_method :_original_initialize, :initialize

#semian_identifierObject



37
38
39
# File 'lib/semian/redis.rb', line 37

def semian_identifier
  semian_resource.name
end

#semian_resourceObject



33
34
35
# File 'lib/semian/redis.rb', line 33

def semian_resource
  @original_client.semian_resource
end