Class: Timer

Inherits:
Object
  • Object
show all
Defined in:
lib/transcode/utils.rb

Overview

Returns string with humanized time interval.

Constant Summary collapse

DIC =
[
  [60,   :seconds, :second],
  [60,   :minutes, :minute],
  [24,   :hours,   :hour],
  [1000, :days,    :day]
].freeze

Class Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTimer

Returns a new instance of Timer.



35
36
37
# File 'lib/transcode/utils.rb', line 35

def initialize
  @sta = Time.now
end

Class Attribute Details

.less_secObject (readonly)

Returns the value of attribute less_sec.



25
26
27
# File 'lib/transcode/utils.rb', line 25

def less_sec
  @less_sec
end

Instance Method Details

#humanize(sec) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/transcode/utils.rb', line 43

def humanize(sec)
  return '' if sec.nil?
  return Timer.less_sec if sec < 1

  DIC.map do |cnt, nms, nm1|
    next if sec <= 0

    sec, n = sec.divmod(cnt)
    "#{n.to_i} #{n.to_i != 1 ? nms : nm1}"
  end.compact.reverse.join(' ')
end

#readObject



39
40
41
# File 'lib/transcode/utils.rb', line 39

def read
  humanize(Time.now - @sta)
end