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