File: numeric_seconds.rb

package info (click to toggle)
ruby-whenever 1.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 328 kB
  • sloc: ruby: 2,722; makefile: 2
file content (48 lines) | stat: -rw-r--r-- 694 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
module Whenever
  class NumericSeconds
    attr_reader :number

    def self.seconds(number, units)
      new(number).send(units)
    end

    def initialize(number)
      @number = number.to_i
    end

    def seconds
      number
    end
    alias :second :seconds

    def minutes
      number * 60
    end
    alias :minute :minutes

    def hours
      number * 3_600
    end
    alias :hour :hours

    def days
      number * 86_400
    end
    alias :day :days

    def weeks
      number * 604_800
    end
    alias :week :weeks

    def months
      number * 2_592_000
    end
    alias :month :months

    def years
      number * 31_557_600
    end
    alias :year :years
  end
end