Class: Duration
- Inherits:
-
Object
- Object
- Duration
- Defined in:
- lib/chronos/durationtotext.rb
Constant Summary collapse
- ToTextEn =
{ -(1/0.0) => proc { |s| sprintf "%d weeks ago", -s.div(604800) }, -1209600 => proc { |s| "one week ago" }, -604800 => proc { |s| sprintf "%d days ago", -s.div(86500) }, -172800 => proc { |s| "yesterday" }, 0 => proc { |s| "today" }, 86400 => proc { |s| "tomorrow" }, 172800 => proc { |s| sprintf "in %d days", (s/86400).ceil }, 604800 => proc { |s| "in one week" }, 1209600 => proc { |s| sprintf "in %d weeks", (s/604800).ceil }, }.to_a.sort
Instance Method Summary collapse
-
#initialize(seconds, months = 0) ⇒ Duration
constructor
A new instance of Duration.
- #to_text ⇒ Object (also: #to_s)
Constructor Details
#initialize(seconds, months = 0) ⇒ Duration
Returns a new instance of Duration.
27 28 29 30 |
# File 'lib/chronos/durationtotext.rb', line 27 def initialize(seconds, months=0) @seconds = seconds @months = months end |
Instance Method Details
#to_text ⇒ Object Also known as: to_s
32 33 34 35 36 37 |
# File 'lib/chronos/durationtotext.rb', line 32 def to_text ToTextEn.each_cons(2) { |(v,t), (v2,t2)| return t.call(@seconds) if @seconds >= v && @seconds < v2 } ToTextEn.last.last.call(@seconds) end |