Class: Chimera::RedisObjectProxy::Set

Inherits:
Collection show all
Defined in:
lib/chimera/redis_objects.rb

Instance Attribute Summary

Attributes inherited from Base

#extra_opts, #name, #owner

Instance Method Summary collapse

Methods inherited from Collection

#sort

Methods inherited from Base

#connection, #decode, #destroy, #encode, #initialize, #key

Constructor Details

This class inherits a constructor from Chimera::RedisObjectProxy::Base

Instance Method Details

#<<(val) ⇒ Object



112
113
114
# File 'lib/chimera/redis_objects.rb', line 112

def <<(val)
  add(val)
end

#add(val) ⇒ Object



108
109
110
# File 'lib/chimera/redis_objects.rb', line 108

def add(val)
  connection.sadd(self.key, encode(val))
end

#cardObject Also known as: size, count



128
129
130
# File 'lib/chimera/redis_objects.rb', line 128

def card
  connection.scard(self.key)
end

#diff(*set_keys) ⇒ Object



166
167
168
# File 'lib/chimera/redis_objects.rb', line 166

def diff(*set_keys)
  (connection.sdiff(set_keys.join(" ")) || []).collect { |val| decode(val) }
end

#diffstore(dest_key, *set_keys) ⇒ Object Also known as: diff_and_store



170
171
172
# File 'lib/chimera/redis_objects.rb', line 170

def diffstore(dest_key, *set_keys)
  connection.sdiffstore(dest_key, set_keys.join(" "))
end

#inter(*set_keys) ⇒ Object Also known as: intersect



144
145
146
# File 'lib/chimera/redis_objects.rb', line 144

def inter(*set_keys)
  (connection.sinter(set_keys.join(" ")) || []).collect { |val| decode(val) }
end

#interstore(dest_key, *set_keys) ⇒ Object Also known as: intersect_and_store



150
151
152
# File 'lib/chimera/redis_objects.rb', line 150

def interstore(dest_key, *set_keys)
  connection.sinterstore(dest_key, set_keys.join(" "))
end

#ismember(val) ⇒ Object Also known as: is_member?, include?, includes?, contains?



135
136
137
# File 'lib/chimera/redis_objects.rb', line 135

def ismember(val)
  connection.sismember(self.key, encode(val))
end

#membersObject Also known as: all



176
177
178
# File 'lib/chimera/redis_objects.rb', line 176

def members
  (connection.smembers(self.key) || []).collect { |val| decode(val) }
end

#move(val, dest_set_key) ⇒ Object



124
125
126
# File 'lib/chimera/redis_objects.rb', line 124

def move(val, dest_set_key)
  connection.smove(self.key, dest_set_key, encode(val))
end

#popObject



120
121
122
# File 'lib/chimera/redis_objects.rb', line 120

def pop
  decode connection.spop(self.key)
end

#randmemberObject Also known as: rand_member



182
183
184
# File 'lib/chimera/redis_objects.rb', line 182

def randmember
  decode connection.srandmember(self.key)
end

#rem(val) ⇒ Object



116
117
118
# File 'lib/chimera/redis_objects.rb', line 116

def rem(val)
  connection.srem(self.key, encode(val))
end

#union(*set_keys) ⇒ Object



156
157
158
# File 'lib/chimera/redis_objects.rb', line 156

def union(*set_keys)
  (connection.sunion(set_keys.join(" ")) || []).collect { |val| decode(val) }
end

#unionstore(dest_key, *set_keys) ⇒ Object Also known as: union_and_store



160
161
162
# File 'lib/chimera/redis_objects.rb', line 160

def unionstore(dest_key, *set_keys)
  connection.sunionstore(dest_key, set_keys.join(" "))
end