class LockManager::RedisConnection

Attributes

port[R]
server[R]

Public Class Methods

new(options = {}) click to toggle source
Calls superclass method LockManager::Connection::new
# File lib/lock_manager/redis_connection.rb, line 7
def initialize(options = {})
  super
  raise ArgumentError, ':server option is mandatory for redis connections' unless options[:server]
  @server = options[:server]
  @port = options[:port]
end

Public Instance Methods

connect_redis(redis_server, redis_port = 6379) click to toggle source

Create a connection to redis.

# File lib/lock_manager/redis_connection.rb, line 39
def connect_redis(redis_server, redis_port = 6379)
  redis = Redis.new(host: redis_server, port: redis_port)
  redis.ping
  redis
end
handle() click to toggle source
# File lib/lock_manager/redis_connection.rb, line 34
def handle
  @handle ||= connect_redis(server, port)
end
key_from_host(host) click to toggle source
# File lib/lock_manager/redis_connection.rb, line 30
def key_from_host(host)
  "node_lock_#{host}"
end
read(host) click to toggle source
# File lib/lock_manager/redis_connection.rb, line 14
def read(host)
  handle.get key_from_host(host)
end
remove(host) click to toggle source
# File lib/lock_manager/redis_connection.rb, line 26
def remove(host)
  handle.del key_from_host(host)
end
write(host, value) click to toggle source
# File lib/lock_manager/redis_connection.rb, line 22
def write(host, value)
  handle.set(key_from_host(host), value)
end
write_if_not_exists(host, value) click to toggle source
# File lib/lock_manager/redis_connection.rb, line 18
def write_if_not_exists(host, value)
  handle.setnx(key_from_host(host), value)
end