class TimedRedSet
Public Class Methods
add(key, member)
click to toggle source
Calls superclass method
RedSet::add
# File lib/redness/timed_red_set.rb, line 3 def self.add(key, member) super(key, member, :score => lambda { Precisionable.int_from_float(Time.now) }) end
get_with_timestamps(key, options = {})
click to toggle source
# File lib/redness/timed_red_set.rb, line 37 def self.get_with_timestamps(key, options = {}) get(key, options.merge({ :with_scores => true, :scoring => lambda {|x| Time.at(Precisionable.float_from_int(x))} }) ) end
score(key, member)
click to toggle source
Calls superclass method
RedSet::score
# File lib/redness/timed_red_set.rb, line 32 def self.score(key, member) precise_time = super Time.at(Precisionable.float_from_int(precise_time)) if precise_time end
since(key, start, options={})
click to toggle source
# File lib/redness/timed_red_set.rb, line 7 def self.since(key, start, options={}) precise_start = Precisionable.int_from_float(start) redis.execute_with_uncertainty([]) do raw = redis.zrevrangebyscore(key, "+inf", precise_start, with_scores: options[:with_scores]) if options[:upper] and options[:lower] lower = options[:lower].to_i upper = options[:upper].to_i raw = raw[lower..upper] end if options[:with_scores] result = {} raw.each do |member, score| result[member.to_i] = Time.at(Precisionable.float_from_int(score)) end result else raw.map(&:to_i) end end end