Class: RedisObj::Set

Inherits:
Base
  • Object
show all
Includes:
Enumerable
Defined in:
lib/redis_obj/set.rb

Instance Attribute Summary

Attributes inherited from Base

#key, #redis

Instance Method Summary collapse

Methods inherited from Base

#==, #del_key, #initialize

Constructor Details

This class inherits a constructor from RedisObj::Base

Instance Method Details

#add(val) ⇒ Object Also known as: <<



78
79
80
# File 'lib/redis_obj/set.rb', line 78

def add val
  redis.sadd(key,val)
end

#cardObject Also known as: length, size, count



91
92
93
# File 'lib/redis_obj/set.rb', line 91

def card
  redis.scard(key)
end

#diff(*keys) ⇒ Object Also known as: -



34
35
36
# File 'lib/redis_obj/set.rb', line 34

def diff *keys
  redis.sdiff(key,*get_keys(keys))
end

#diffstore(destination, *keys) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/redis_obj/set.rb', line 39

def diffstore destination, *keys
  redis.sdiffstore(destination,key,*get_keys(keys))
  new_key = self.class.new(redis,destination)

  if block_given?
    begin
      yield(new_key)
    ensure
      redis.del(destination)
    end
  end

  new_key
end

#each(&blk) ⇒ Object



98
99
100
# File 'lib/redis_obj/set.rb', line 98

def each &blk
  to_a.each(&blk)
end

#inter(*keys) ⇒ Object Also known as: &



14
15
16
# File 'lib/redis_obj/set.rb', line 14

def inter *keys
  redis.sinter(key,*get_keys(keys))
end

#interstore(destination, *keys) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/redis_obj/set.rb', line 19

def interstore destination, *keys
  redis.sinterstore(destination,key,*get_keys(keys))
  new_key = self.class.new(redis,destination)

  if block_given?
    begin
      yield(new_key)
    ensure
      redis.del(destination)
    end
  end

  new_key
end

#ismember(val) ⇒ Object Also known as: include?



9
10
11
# File 'lib/redis_obj/set.rb', line 9

def ismember val
  redis.sismember(key,val)
end

#membersObject Also known as: to_a



4
5
6
# File 'lib/redis_obj/set.rb', line 4

def members
  redis.smembers(key)
end

#popObject



74
75
76
# File 'lib/redis_obj/set.rb', line 74

def pop
  redis.pop(key)
end

#rem(val) ⇒ Object



83
84
85
# File 'lib/redis_obj/set.rb', line 83

def rem val
  redis.srem(key,val)
end

#srandmember(num = 1) ⇒ Object



87
88
89
# File 'lib/redis_obj/set.rb', line 87

def srandmember num=1
  redis.srandmember(key,num)
end

#union(*keys) ⇒ Object Also known as: |



54
55
56
# File 'lib/redis_obj/set.rb', line 54

def union *keys
  redis.sunion(key,*get_keys(keys))
end

#unionstore(destination, *keys) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/redis_obj/set.rb', line 59

def unionstore destination, *keys
  redis.sunionstore(destination,key,*get_keys(keys))
  new_key = self.class.new(redis,destination)

  if block_given?
    begin
      yield(new_key)
    ensure
      redis.del(destination)
    end
  end

  new_key
end