lib/redistat/event.rb in redistat-0.3.0 vs lib/redistat/event.rb in redistat-0.4.0

- old
+ new

@@ -1,68 +1,68 @@ module Redistat class Event include Database include Options - + attr_reader :id attr_reader :key - + attr_accessor :stats attr_accessor :meta - + def default_options { :depth => :hour, :store_event => false, :connection_ref => nil, :enable_grouping => true, :label_indexing => true } end - + def initialize(scope, label = nil, date = nil, stats = {}, opts = {}, meta = {}, is_new = true) parse_options(opts) @key = Key.new(scope, label, date, @options) @stats = stats ||= {} @meta = meta ||= {} @new = is_new end - + def new? @new end - + def date @key.date end - + def date=(input) @key.date = input end - + def scope @key.scope end - + def scope=(input) @key.scope = input end - + def label @key.label end - + def label_hash @key.label_hash end - + def label=(input) @key.label = input end def next_id db.incr("#{self.scope}#{KEY_NEXT_ID}") end - + def save return false if !self.new? Summary.update_all(@key, @stats, depth_limit, @options) if @options[:store_event] @id = self.next_id @@ -76,23 +76,23 @@ db.sadd("#{self.scope}#{KEY_EVENT_IDS}", @id) end @new = false self end - + def depth_limit @options[:depth] ||= @key.depth end - + def self.create(*args) self.new(*args).save end - + def self.find(scope, id) event = db.hgetall "#{scope}#{KEY_EVENT}#{id}" return nil if event.size == 0 self.new( event["scope"], event["label"], event["date"], JSON.parse(event["stats"]), JSON.parse(event["options"]), JSON.parse(event["meta"]), false ) end - + end -end \ No newline at end of file +end