Module: Semian::Redis

Includes:
Adapter
Defined in:
lib/semian/redis.rb

Constant Summary collapse

ResourceBusyError =
::Redis::ResourceBusyError
CircuitOpenError =
::Redis::CircuitOpenError

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Adapter

#semian_resource

Class Method Details

.included(base) ⇒ Object

The naked methods are exposed as ‘raw_query` and `raw_connect` for instrumentation purpose



39
40
41
42
43
44
45
# File 'lib/semian/redis.rb', line 39

def self.included(base)
  base.send(:alias_method, :raw_io, :io)
  base.send(:remove_method, :io)

  base.send(:alias_method, :raw_connect, :connect)
  base.send(:remove_method, :connect)
end

Instance Method Details

#connectObject



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

def connect
  acquire_semian_resource(adapter: :redis, scope: :connection) { raw_connect }
end

#io(&block) ⇒ Object



55
56
57
# File 'lib/semian/redis.rb', line 55

def io(&block)
  acquire_semian_resource(adapter: :redis, scope: :query) { raw_io(&block) }
end

#semian_identifierObject



47
48
49
50
51
52
53
# File 'lib/semian/redis.rb', line 47

def semian_identifier
  @semian_identifier ||= begin
    name = semian_options && semian_options[:name]
    name ||= "#{location}/#{db}"
    :"redis_#{name}"
  end
end