Class: Kredis::Types::Set

Inherits:
Proxying show all
Includes:
DefaultValues
Defined in:
lib/kredis/types/set.rb

Instance Attribute Summary collapse

Attributes inherited from Proxying

#key, #proxy

Instance Method Summary collapse

Methods included from DefaultValues

#initialize

Methods inherited from Proxying

#failsafe, #initialize, proxying, #unproxied_redis

Instance Attribute Details

#typedObject

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: <<



15
16
17
# File 'lib/kredis/types/set.rb', line 15

def add(*members)
  sadd types_to_strings(members, typed) if members.flatten.any?
end

#clearObject



43
44
45
# File 'lib/kredis/types/set.rb', line 43

def clear
  del
end

#include?(member) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/kredis/types/set.rb', line 31

def include?(member)
  sismember type_to_string(member, typed)
end

#membersObject Also known as: to_a



10
11
12
# File 'lib/kredis/types/set.rb', line 10

def members
  strings_to_types(smembers || [], typed).sort
end

#remove(*members) ⇒ Object



20
21
22
# File 'lib/kredis/types/set.rb', line 20

def remove(*members)
  srem types_to_strings(members, typed) if members.flatten.any?
end

#replace(*members) ⇒ Object



24
25
26
27
28
29
# File 'lib/kredis/types/set.rb', line 24

def replace(*members)
  multi do
    del
    add members
  end
end

#sample(count = nil) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/kredis/types/set.rb', line 47

def sample(count = nil)
  if count.nil?
    string_to_type(srandmember(count), typed)
  else
    strings_to_types(srandmember(count), typed)
  end
end

#sizeObject



35
36
37
# File 'lib/kredis/types/set.rb', line 35

def size
  scard.to_i
end

#takeObject



39
40
41
# File 'lib/kredis/types/set.rb', line 39

def take
  string_to_type(spop, typed)
end