Class: Redis

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

Defined Under Namespace

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



33
34
35
36
37
38
39
40
# File 'lib/semian/redis.rb', line 33

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



52
53
54
# File 'lib/semian/redis.rb', line 52

def _client
  @client
end

#_original_initializeObject



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

alias_method :_original_initialize, :initialize

#semian_identifierObject



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

def semian_identifier
  semian_resource.name
end

#semian_resourceObject



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

def semian_resource
  @original_client.semian_resource
end