class Redisabel::KeyOrderedSet

Public Class Methods

data_type() click to toggle source
# File lib/redisabel/key_ordered_set.rb, line 6
def self.data_type
  return Hash
end
range(id, first, last) click to toggle source
# File lib/redisabel/key_ordered_set.rb, line 18
def self.range(id, first, last)
  key = "#{self.database_key_name}:#{id}"
  return unless Database.db.exists(key)
  data = transform_zset(key, :zrangebyscore, first, last)
  return self.new(false, id, data).freeze
end
redis_delete_method() click to toggle source
# File lib/redisabel/key_ordered_set.rb, line 14
def self.redis_delete_method
  return :zrem
end
redis_store_method() click to toggle source
# File lib/redisabel/key_ordered_set.rb, line 10
def self.redis_store_method
  return :zadd
end

Public Instance Methods

save() click to toggle source
Calls superclass method
# File lib/redisabel/key_ordered_set.rb, line 32
def save
  return super do |key|
    Database.db.del(key)
    results = @data.map do |k, v|
      Database.db.zadd(key, k, v)
    end
    next results.all?
  end
end
value=(val) click to toggle source
Calls superclass method
# File lib/redisabel/key_ordered_set.rb, line 25
def value=(val)
  if !val.respond_to?(:keys) || val.keys.any?{ |k| !self.key_valid?(k) }
    raise ArgumentError.new('ordered sets only accept numbers as Hash keys')
  end
  super
end