class Object
Public Class Methods
new(key, redis = $redis)
click to toggle source
Calls superclass method
# File lib/generators/sufia/models/templates/config/redis_config.rb, line 32 def initialize(key, redis = $redis) super(key.to_param) @redis = redis end
stream()
click to toggle source
# File lib/sufia/models/active_record/redis.rb, line 8 def self.stream Nest.new(name, $redis) rescue nil end
Public Instance Methods
[](key)
click to toggle source
# File lib/generators/sufia/models/templates/config/redis_config.rb, line 37 def [](key) self.class.new("#{self}:#{key.to_param}", @redis) end
create_event(action, timestamp)
click to toggle source
# File lib/sufia/models/active_record/redis.rb, line 36 def create_event(action, timestamp) event_id = $redis.incr("events:latest_id") $redis.hmset("events:#{event_id}", "action", action, "timestamp", timestamp) event_id rescue nil end
events(size = -1)
click to toggle source
# File lib/sufia/models/active_record/redis.rb, line 14 def events(size = -1) stream[:event].lrange(0, size).map do |event_id| { action: $redis.hget("events:#{event_id}", "action"), timestamp: $redis.hget("events:#{event_id}", "timestamp") } end rescue [] end
log_event(event_id)
click to toggle source
# File lib/sufia/models/active_record/redis.rb, line 44 def log_event(event_id) stream[:event].lpush(event_id) rescue nil end
log_profile_event(event_id)
click to toggle source
# File lib/sufia/models/active_record/redis.rb, line 50 def log_profile_event(event_id) stream[:event][:profile].lpush(event_id) rescue nil end
profile_events(size = -1)
click to toggle source
# File lib/sufia/models/active_record/redis.rb, line 25 def profile_events(size = -1) stream[:event][:profile].lrange(0, size).map do |event_id| { action: $redis.hget("events:#{event_id}", "action"), timestamp: $redis.hget("events:#{event_id}", "timestamp") } end rescue [] end
stream()
click to toggle source
# File lib/sufia/models/active_record/redis.rb, line 2 def stream Nest.new(self.class.name, $redis)[to_param] rescue nil end