Module: Duranged::Periods

Included in:
Base
Defined in:
lib/duranged/periods.rb

Instance Method Summary collapse

Instance Method Details

#daysObject



23
24
25
26
# File 'lib/duranged/periods.rb', line 23

def days
  # TODO make this a configuration option with the ability to default to :days_after_weeks
  days_after_months
end

#days_after_monthsObject



19
20
21
# File 'lib/duranged/periods.rb', line 19

def days_after_months
  (seconds_after_months / 60 / 60 / 24).floor
end

#days_after_weeksObject



15
16
17
# File 'lib/duranged/periods.rb', line 15

def days_after_weeks
  (seconds_after_weeks / 60 / 60 / 24).floor
end

#hoursObject



28
29
30
# File 'lib/duranged/periods.rb', line 28

def hours
  (seconds_after_days / 60 / 60).floor
end

#minutesObject



32
33
34
# File 'lib/duranged/periods.rb', line 32

def minutes
  (seconds_after_hours / 60).floor
end

#monthsObject



7
8
9
# File 'lib/duranged/periods.rb', line 7

def months
  (seconds_after_years / 60 / 60 / 24 / 30).floor
end

#secondsObject



36
37
38
# File 'lib/duranged/periods.rb', line 36

def seconds
  seconds_after_minutes.floor
end

#weeksObject



11
12
13
# File 'lib/duranged/periods.rb', line 11

def weeks
  ((seconds_after_months / 60 / 60 / 24).floor / 7).floor
end

#yearsObject



3
4
5
# File 'lib/duranged/periods.rb', line 3

def years
  (value.to_f / 60 / 60 / 24 / 365.25).to_i
end