class RedHash
Attributes
default[RW]
hash_key[RW]
redis[RW]
Public Class Methods
new(hash_key = self.class.name, redis = Red.new)
click to toggle source
# File lib/redness/red_hash.rb, line 4 def initialize(hash_key = self.class.name, redis = Red.new) self.hash_key = hash_key self.redis = redis end
Public Instance Methods
[](key)
click to toggle source
# File lib/redness/red_hash.rb, line 16 def [](key) redis.execute_with_uncertainty(nil) do redis.hget(hash_key, key) || default end end
[]=(key, value)
click to toggle source
# File lib/redness/red_hash.rb, line 9 def []=(key, value) redis.execute_with_uncertainty(nil) do redis.hset(hash_key, key, value) value end end
all()
click to toggle source
# File lib/redness/red_hash.rb, line 28 def all redis.execute_with_uncertainty({}) do hash = redis.hgetall(hash_key) HashWithIndifferentAccess.new(hash) end end
clear()
click to toggle source
# File lib/redness/red_hash.rb, line 36 def clear redis.execute_with_uncertainty(false) do redis.hkeys(hash_key).each do |key| redis.hdel(hash_key, key) end end end
get(key)
click to toggle source
# File lib/redness/red_hash.rb, line 44 def get(key) self[key] end
remove(key)
click to toggle source
# File lib/redness/red_hash.rb, line 22 def remove(key) redis.execute_with_uncertainty(false) do redis.hdel(hash_key, key) end end
set(options)
click to toggle source
# File lib/redness/red_hash.rb, line 48 def set(options) redis.execute_with_uncertainty(false) do options.keys.each do |option| self[option] = options[option] end end end