Class: Kredis::Types::Set

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

Instance Attribute Summary collapse

Attributes inherited from Proxying

#key, #proxy, #redis

Instance Method Summary collapse

Methods inherited from Proxying

#initialize, proxying

Constructor Details

This class inherits a constructor from Kredis::Types::Proxying

Instance Attribute Details

#typedObject

Returns the value of attribute typed.



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

def typed
  @typed
end

Instance Method Details

#add(*members) ⇒ Object Also known as: <<



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

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

#clearObject



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

def clear
  del
end

#include?(member) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#membersObject Also known as: to_a



6
7
8
# File 'lib/kredis/types/set.rb', line 6

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

#remove(*members) ⇒ Object



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

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

#replace(*members) ⇒ Object



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

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

#sizeObject



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

def size
  scard
end

#takeObject



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

def take
  spop
end