Module: AggtiveRecord::Time

Defined in:
lib/aggtive_record/time.rb

Constant Summary collapse

UNIFORM_PERIODS =

A week is always 7 * 24 * 60 * 60, for instance

[:week, :day, :hour, :minute, :second]
NON_UNIFORM_PERIODS =

e.g. A year may have 365 days or 366

[:year, :month]
PERIODS =
NON_UNIFORM_PERIODS + UNIFORM_PERIODS
OTHER_PERIODS =
[:day_of_week, :hour_of_day]
SECONDS_PER_DAY =
60 * 60 * 24

Class Method Summary collapse

Class Method Details

.periodsObject



17
18
19
# File 'lib/aggtive_record/time.rb', line 17

def self.periods
  PERIODS + OTHER_PERIODS
end

.to_seconds(sym) ⇒ Object

probably reinventing the wheel here…



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/aggtive_record/time.rb', line 24

def self.to_seconds(sym)
  case sym.to_sym
  when :year
    SECONDS_PER_DAY * 365
  when :month
    SECONDS_PER_DAY * 30
  when :week 
    SECONDS_PER_DAY * 7
  when :day 
    SECONDS_PER_DAY
  when :hour
    60 * 60
  when :minute
    60
  when :second
    1
  end
end