Class: Domotics::Core::DataRedisOperator
- Inherits:
- BasicObject
- Defined in:
- lib/domotics/core/data/data_redis.rb
Instance Method Summary collapse
-
#initialize(redis, key) ⇒ DataRedisOperator
constructor
A new instance of DataRedisOperator.
- #method_missing(symbol, *args) ⇒ Object
Constructor Details
#initialize(redis, key) ⇒ DataRedisOperator
Returns a new instance of DataRedisOperator.
34 35 36 37 |
# File 'lib/domotics/core/data/data_redis.rb', line 34 def initialize(redis, key) @redis = redis @key = key end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(symbol, *args) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# 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 |