moved around methods in Redistat::Event

This commit is contained in:
2010-07-24 21:37:34 +03:00
parent d7c343b371
commit 14d2bc1189

View File

@@ -26,41 +26,6 @@ module Redistat
@new
end
def save
return false if !self.new?
#TODO store sumarized stats
if @options[:store_event]
@id = self.next_id
db.hmset("#{self.scope}#{KEY_EVENT}#{@id}",
"scope", self.scope,
"label", self.label,
"date", self.date.to_time.to_s,
"stats", self.stats.to_json,
"meta", self.meta.to_json,
"options", self.options.to_json)
db.sadd "#{self.scope}#{KEY_EVENT_IDS}", @id
end
@new = false
self
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["meta"]), JSON.parse(event["options"]), false )
end
def next_id
db.incr("#{self.scope}#{KEY_NEXT_ID}")
end
def date
@key.date
end
@@ -88,6 +53,43 @@ module Redistat
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)
if @options[:store_event]
@id = self.next_id
db.hmset("#{self.scope}#{KEY_EVENT}#{@id}",
"scope", self.scope,
"label", self.label,
"date", self.date.to_time.to_s,
"stats", self.stats.to_json,
"meta", self.meta.to_json,
"options", self.options.to_json)
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["meta"]), JSON.parse(event["options"]), false )
end
end
end