class Restruct::Set

Public Instance Methods

<<(member)
Alias for: add
add(member) click to toggle source
# File lib/restruct/set.rb, line 14
def add(member)
  _add member
  self
end
Also aliased as: <<
add?(member) click to toggle source
# File lib/restruct/set.rb, line 20
def add?(member)
  _add(member) == 0 ? nil : self
end
clear() click to toggle source
# File lib/restruct/set.rb, line 54
def clear
  destroy
  self
end
count()
Alias for: size
delete(member) click to toggle source
# File lib/restruct/set.rb, line 29
def delete(member)
  _delete member
  self
end
delete?(member) click to toggle source
# File lib/restruct/set.rb, line 34
def delete?(member)
  _delete(member) == 0 ? nil : self
end
delete_if() { |e| ... } click to toggle source
# File lib/restruct/set.rb, line 43
def delete_if
  each { |e| delete e if yield e }
  self
end
disjoint?(set) click to toggle source
# File lib/restruct/set.rb, line 95
def disjoint?(set)
  (to_a & set.to_a).empty?
end
each(&block) click to toggle source
# File lib/restruct/set.rb, line 73
def each(&block)
  to_a.each(&block)
end
empty?() click to toggle source
# File lib/restruct/set.rb, line 65
def empty?
  size == 0
end
include?(member) click to toggle source
# File lib/restruct/set.rb, line 69
def include?(member)
  connection.call('SISMEMBER', id, serialize(member)) == 1
end
intersect?(set) click to toggle source
# File lib/restruct/set.rb, line 91
def intersect?(set)
  !disjoint? set
end
keep_if() { |e| ... } click to toggle source
# File lib/restruct/set.rb, line 48
def keep_if
  each { |e| delete e unless yield e }
  self
end
Also aliased as: select!
length()
Alias for: size
merge(members) click to toggle source
# File lib/restruct/set.rb, line 24
def merge(members)
  _add *members
  self
end
select!()
Alias for: keep_if
size() click to toggle source
# File lib/restruct/set.rb, line 59
def size
  connection.call 'SCARD', id
end
Also aliased as: count, length
subtract(members) click to toggle source
# File lib/restruct/set.rb, line 38
def subtract(members)
  _delete *members
  self
end
to_a() click to toggle source
# File lib/restruct/set.rb, line 77
def to_a
  connection.call('SMEMBERS', id).map { |e| deserialize e }
end
to_primitive()
Alias for: to_set
to_set() click to toggle source
# File lib/restruct/set.rb, line 81
def to_set
  to_a.to_set
end
Also aliased as: to_primitive

Private Instance Methods

_add(*members) click to toggle source
# File lib/restruct/set.rb, line 101
def _add(*members)
  connection.lazy 'SADD', id, *members.map { |m| serialize m }
end
_delete(*members) click to toggle source
# File lib/restruct/set.rb, line 105
def _delete(*members)
  connection.lazy 'SREM', id, *members.map { |m| serialize m }
end
deserialize(string) click to toggle source
# File lib/restruct/set.rb, line 114
def deserialize(string)
  string
end
serialize(string) click to toggle source
# File lib/restruct/set.rb, line 110
def serialize(string)
  string
end