class Redisabel::KeySet
Public Class Methods
data_type()
click to toggle source
# File lib/redisabel/key_set.rb, line 4 def self.data_type return Array end
Public Instance Methods
==(other)
click to toggle source
# File lib/redisabel/key_set.rb, line 41 def ==(other) return (other.is_a?(KeyValue) && self.id == other.id && @data.sort == other.value.sort) end
delete(value)
click to toggle source
# File lib/redisabel/key_set.rb, line 21 def delete(value) if @data.delete(value) && self.autosave? && !self.id.to_s.empty? Database.db.srem(self.database_key, value) end end
push(*values)
click to toggle source
# File lib/redisabel/key_set.rb, line 27 def push(*values) values = values.shift if values.first.is_a?(Array) values.uniq! @data += values - @data if self.autosave? && !self.id.to_s.empty? values.each{ |v| Database.db.sadd(self.database_key, v) } end end
save()
click to toggle source
Calls superclass method
# File lib/redisabel/key_set.rb, line 13 def save return super do |key| Database.db.del(key) results = @data.map{ |v| Database.db.sadd(key, v) } next results.all? end end
to_ary()
click to toggle source
# File lib/redisabel/key_set.rb, line 36 def to_ary return @data.dup end
Also aliased as: to_a
value=(val)
click to toggle source
Calls superclass method
# File lib/redisabel/key_set.rb, line 46 def value=(val) super @data.uniq! end
Protected Instance Methods
update_data(*data)
click to toggle source
Calls superclass method
# File lib/redisabel/key_set.rb, line 8 def update_data(*data) return super(data.flatten.uniq) end