Method: Tins::Duration#initialize

Defined in:
lib/tins/duration.rb

#initialize(seconds) ⇒ Duration

Returns a new instance of Duration.



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/tins/duration.rb', line 5

def initialize(seconds)
  @original_seconds = seconds
  @days, @hours, @minutes, @seconds, @fractional_seconds =
    [ 86_400, 3600, 60, 1, 0 ].inject([ [], seconds ]) {|(r, s), d|
      if d > 0
        dd, rest = s.divmod(d)
        r << dd
        [ r, rest ]
      else
        r << s
      end
    }
end