Class: RedisUtils::Key

Inherits:
Base
  • Object
show all
Defined in:
lib/redis_utils/key.rb

Class Method Summary collapse

Class Method Details

.exists?(key) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/redis_utils/key.rb', line 34

def exists?(key)
  instance.exists key
end

.get(key) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/redis_utils/key.rb', line 9

def get(key)
  if exists? key
    case instance.type key
    when "string"
      instance.get key
    when "list"
      raise "Not implemented"
    when "set"
      instance.smembers key
    when "zset"
      raise "Not implemented"
    when "hash"
      puts "Redis GET: HASH requested"
      instance.hgetall(key).transform_keys { |key| key.to_sym }
    end
  else
    nil
  end
end

.get_as_hash(key) ⇒ Object



29
30
31
32
# File 'lib/redis_utils/key.rb', line 29

def get_as_hash(key)
  ret = {}
  ret.store key, get(key)
end

.instanceObject



5
6
7
# File 'lib/redis_utils/key.rb', line 5

def instance
  super
end

.member(group_name, member_name) ⇒ Object



42
43
44
45
# File 'lib/redis_utils/key.rb', line 42

def member(group_name, member_name)
  return nil unless member?(group_name, member_name)
  get "#{group_name}:#{member_name}"
end

.member?(group_name, member_name) ⇒ Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/redis_utils/key.rb', line 38

def member?(group_name, member_name)
  instance.sismember group_name, member_name
end

.member_keys(key) ⇒ Object



57
58
59
# File 'lib/redis_utils/key.rb', line 57

def member_keys(key)
  instance.smembers(key)
end

.members(key) ⇒ Object



47
48
49
# File 'lib/redis_utils/key.rb', line 47

def members(key)
  member_keys(key).map { |member_id| member(key, member_id) }
end

.members_as_hash(key) ⇒ Object



51
52
53
54
55
# File 'lib/redis_utils/key.rb', line 51

def members_as_hash(key)
  ret = HashWithIndifferentAccess.new
  member_keys(key).map { |member_id| ret.store(member_id, member(key, member_id)) }
  ret
end