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.



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

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



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

def _client
  @client
end

#_original_initializeObject



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

alias_method :_original_initialize, :initialize

#semian_identifierObject



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

def semian_identifier
  semian_resource.name
end

#semian_resourceObject



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

def semian_resource
  @original_client.semian_resource
end