class Domotics::Core::DataRedisOperator

Public Class Methods

new(redis, key) click to toggle source
# File lib/domotics/core/data/data_redis.rb, line 34
def initialize(redis, key)
  @redis = redis
  @key = key
end

Public Instance Methods

method_missing(symbol, *args) click to toggle source
# File lib/domotics/core/data/data_redis.rb, line 39
def method_missing(symbol, *args)
  # Setter method [*=(value)]
  if symbol.to_s =~ /.*=\Z/ and args.size == 1
    @redis.set "#{@key}:#{symbol.to_s[0..-2]}", args[0].to_s
  # Getter method (no arguments allowed)
  elsif args.size == 0
    result = @redis.get "#{@key}:#{symbol}"
    while result =~ /\AOK\Z/
      @redis.connect broken: true
      result = @redis.get "#{@key}:#{symbol}"
    end
    result && result.to_isym
  else
    nil
  end
end