Module: Slackiq::TimeHelper

Defined in:
lib/slackiq/time_helper.rb

Class Method Summary collapse

Class Method Details

.elapsed_seconds(t0, t1) ⇒ Object



12
13
14
15
16
# File 'lib/slackiq/time_helper.rb', line 12

def elapsed_seconds(t0, t1)
  dt0 = t0.to_datetime
  dt1 = t1.to_datetime
  ((dt1-dt0)*24*60*60).to_f.round(2)
end

.elapsed_time_humanized(t0, t1) ⇒ Object



8
9
10
# File 'lib/slackiq/time_helper.rb', line 8

def elapsed_time_humanized(t0, t1)
  humanize(elapsed_seconds(t0, t1))
end

.format(time) ⇒ Object



32
33
34
# File 'lib/slackiq/time_helper.rb', line 32

def format(time)
  time.strftime('%D @ %r').gsub('PM', 'pm').gsub('AM', 'am')
end

.humanize(secs) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/slackiq/time_helper.rb', line 19

def humanize(secs)
  [[60, :s], [60, :m], [24, :h], [1000, :d]].map{ |count, name|
    if secs > 0
      secs, n = secs.divmod(count)
      if name == :s
        "%.2f#{name}" % [n.to_f]
      else
        "#{n.to_i}#{name}"
      end
    end
  }.compact.reverse.join(' ')
end