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_a()
Alias for: to_ary
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