Class: Familia::Set
Instance Attribute Summary
Attributes inherited from RedisObject
#name, #parent, #redis
Instance Method Summary
collapse
Methods inherited from RedisObject
#exists?, #expire, #expireat, #from_redis, inherited, #initialize, #parent?, #rediskey, register, registration, #to_redis, #ttl, #type, #update_expiration
Instance Method Details
#<<(v) ⇒ Object
Also known as:
add
275
276
277
278
|
# File 'lib/familia/redisobject.rb', line 275
def << v
redis.sadd rediskey, to_redis(v)
self
end
|
#delete(v) ⇒ Object
Also known as:
rem, del
293
294
295
|
# File 'lib/familia/redisobject.rb', line 293
def delete v
redis.srem rediskey, to_redis(v)
end
|
#empty? ⇒ Boolean
271
272
273
|
# File 'lib/familia/redisobject.rb', line 271
def empty?
size == 0
end
|
#intersection(*setkeys) ⇒ Object
299
300
301
|
# File 'lib/familia/redisobject.rb', line 299
def intersection *setkeys
end
|
#member?(v) ⇒ Boolean
Also known as:
include?
288
289
290
|
# File 'lib/familia/redisobject.rb', line 288
def member? v
redis.sismember rediskey, to_redis(v)
end
|
#members ⇒ Object
Also known as:
all, to_a
281
282
283
284
|
# File 'lib/familia/redisobject.rb', line 281
def members
redis.smembers rediskey
end
|
#move(dstkey, v) ⇒ Object
307
308
309
|
# File 'lib/familia/redisobject.rb', line 307
def move dstkey, v
redis.smove rediskey, dstkey, v
end
|
#pop ⇒ Object
303
304
305
|
# File 'lib/familia/redisobject.rb', line 303
def pop
redis.spop rediskey
end
|
#random ⇒ Object
311
312
313
|
# File 'lib/familia/redisobject.rb', line 311
def random
redis.srandmember rediskey
end
|
#self ⇒ Object
Make the value stored at KEY identical to the given list define_method :“#RedisObject#name_sync” do |*latest|
latest = latest.flatten.compact
if latest.empty?
false
else
latest = latest.collect { |obj| obj.index } if klass === latest.first
current = send("#{name_plural}raw")
added = latest-current
removed = current-latest
added.each { |v| self.send("add_#{name_singular}", v) }
removed.each { |v| self.send("remove_#{name_singular}", v) }
true
end
end
#size ⇒ Object
Also known as:
length
266
267
268
|
# File 'lib/familia/redisobject.rb', line 266
def size
redis.scard rediskey
end
|