Class: Kredis::Types::Set
Instance Attribute Summary collapse
Attributes inherited from Proxying
#key, #proxy
Instance Method Summary
collapse
#initialize
Methods inherited from Proxying
#failsafe, #initialize, proxying, #unproxied_redis
Instance Attribute Details
#typed ⇒ Object
Returns the value of attribute typed.
8
9
10
|
# File 'lib/kredis/types/set.rb', line 8
def typed
@typed
end
|
Instance Method Details
#add(*members) ⇒ Object
Also known as:
<<
18
19
20
|
# File 'lib/kredis/types/set.rb', line 18
def add(*members)
sadd types_to_strings(members, typed) if members.flatten.any?
end
|
#clear ⇒ Object
46
47
48
|
# File 'lib/kredis/types/set.rb', line 46
def clear
del
end
|
#include?(member) ⇒ Boolean
34
35
36
|
# File 'lib/kredis/types/set.rb', line 34
def include?(member)
sismember type_to_string(member, typed)
end
|
#members ⇒ Object
Also known as:
to_a
13
14
15
|
# File 'lib/kredis/types/set.rb', line 13
def members
strings_to_types(smembers || [], typed).sort
end
|
#move(set, member) ⇒ Object
9
10
11
12
|
# File 'lib/kredis/types/set.rb', line 9
def move(set, member)
destination = set.respond_to?(:key) ? set.key : set
smove(destination, member)
end
|
#remove(*members) ⇒ Object
23
24
25
|
# File 'lib/kredis/types/set.rb', line 23
def remove(*members)
srem types_to_strings(members, typed) if members.flatten.any?
end
|
#replace(*members) ⇒ Object
27
28
29
30
31
32
|
# File 'lib/kredis/types/set.rb', line 27
def replace(*members)
multi do
del
add members
end
end
|
#sample(count = nil) ⇒ Object
50
51
52
53
54
55
56
|
# File 'lib/kredis/types/set.rb', line 50
def sample(count = nil)
if count.nil?
string_to_type(srandmember(count), typed)
else
strings_to_types(srandmember(count), typed)
end
end
|
#size ⇒ Object
38
39
40
|
# File 'lib/kredis/types/set.rb', line 38
def size
scard.to_i
end
|
#take ⇒ Object
42
43
44
|
# File 'lib/kredis/types/set.rb', line 42
def take
string_to_type(spop, typed)
end
|