Module: Motoko::Utils::TimeAgo

Included in:
Formatters::DatetimeAgo, Formatters::TimestampAgo
Defined in:
lib/motoko/utils/time_ago.rb

Instance Method Summary collapse

Instance Method Details

#seconds_to_human(value) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/motoko/utils/time_ago.rb', line 6

def seconds_to_human(value)
  return nil unless value

  value = value.round
  res = []

  {
    's' => 60,
    'm' => 60,
    'h' => 24,
  }.each do |unit, count|
    res << Kernel.format('%<n>2d%<unit>s', n: value % count, unit: unit)
    value /= count

    break if value.zero?
  end

  res << "#{value}d" if value.positive?

  res.reverse.join(' ')
end