Sha256: ecf9e2be0751a200ee8cdfaad1afb0e577d26ddda6f75df8b96785f4ed1093b4

Contents?: true

Size: 530 Bytes

Versions: 8

Compression:

Stored size: 530 Bytes

Contents

# frozen_string_literal: true

module Timely
  class Period
    attr_reader :number, :units

    UNITS = %i[
      seconds
      minutes
      hours
      days
      weeks
      months
      years
      calendar_days
      calendar_months
      calendar_years
    ].freeze

    def initialize(number, units)
      @number = number
      @units  = units.to_sym
    end

    def after(time)
      time.advance_considering_calendar(units, number)
    end

    def to_s
      "#{number} #{units.to_s.gsub('_', '')}"
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
timely-0.13.0 lib/timely/rails/period.rb
timely-0.12.0 lib/timely/rails/period.rb
timely-0.11.0 lib/timely/rails/period.rb
timely-0.10.0 lib/timely/rails/period.rb
timely-0.9.0 lib/timely/rails/period.rb
timely-0.8.0 lib/timely/rails/period.rb
timely-0.7.0 lib/timely/rails/period.rb
timely-0.6.0 lib/timely/rails/period.rb