class Time
Constants
- ONEDAY
- ONEHOUR
Functions to construct the MongoDB field key for trackers
to_i_timestamp
returns the computed UTC timestamp regardless of the timezone.Examples:
2011-01-01 00:00:00 UTC ===> 14975 2011-01-01 23:59:59 UTC ===> 14975 2011-01-02 00:00:00 UTC ===> 14976
to_i_hour
returns the hour for the date, again regardless of TZ2011-01-01 00:00:00 UTC ===> 0 2011-01-01 23:59:59 UTC ===> 23
Public Class Methods
from_key(ts, h)
click to toggle source
# File lib/mongoid/tracking/core_ext/time.rb, line 43 def self.from_key(ts, h) Time.at(ts.to_i * ONEDAY + h.to_i * ONEHOUR) end
Public Instance Methods
to_i_hour()
click to toggle source
# File lib/mongoid/tracking/core_ext/time.rb, line 30 def to_i_hour self.dup.utc.hour end
to_i_timestamp()
click to toggle source
# File lib/mongoid/tracking/core_ext/time.rb, line 21 def to_i_timestamp #Adding a fix for case where the 'quo' is being used instead of Fixnum's '/' operator (self.dup.utc.to_i / ONEDAY).to_i end
to_key()
click to toggle source
Returns an integer to use as MongoDB key
# File lib/mongoid/tracking/core_ext/time.rb, line 39 def to_key "#{to_i_timestamp}.#{to_i_hour}" end
to_key_hour()
click to toggle source
# File lib/mongoid/tracking/core_ext/time.rb, line 34 def to_key_hour to_i_hour.to_s end
to_key_timestamp()
click to toggle source
# File lib/mongoid/tracking/core_ext/time.rb, line 26 def to_key_timestamp to_i_timestamp.to_s end
whole_day()
click to toggle source
Returns a range to be enumerated using hours for the whole day
# File lib/mongoid/tracking/core_ext/time.rb, line 48 def whole_day midnight = utc? ? Time.utc(year, month, day) : Time.new(year, month, day, 0, 0, 0, utc_offset) midnight...(midnight + ::Range::DAYS) end