Sha256: 881eb69897d0e710f235251e91a02d8a4be37844324c8bd96d948ca4be0a6aac
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
module Redisrank module Model include Database include Options def self.included(base) base.extend(self) end # # statistics store/fetch methods # def store(label, stats = {}, date = nil, opts = {}, meta = {}) Event.new(self.name, label, date, stats, options.merge(opts), meta).save end alias :event :store def fetch(label, from, till, opts = {}) find(label, from, till, opts).all end alias :lookup :fetch def find(label, from, till, opts = {}) Finder.new( { :scope => self.name, :label => label, :from => from, :till => till }.merge(options.merge(opts)) ) end def find_event(event_id) Event.find(self.name, event_id) end # # options methods # option_accessor :depth option_accessor :scope option_accessor :store_event option_accessor :hashed_label option_accessor :label_indexing alias :class_name :scope def expire(exp = nil) if !exp.nil? options[:expire] = exp.is_a?(Hash) ? exp : Hash.new(exp) else options[:expire] end end def connect_to(opts = {}) Connection.create(opts.merge(:ref => name)) options[:connection_ref] = name end # # resource access methods # def connection db(options[:connection_ref]) end alias :redis :connection def name options[:scope] || (@name ||= self.to_s) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
redisrank-0.1.0 | lib/redisrank/model.rb |