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