Sha256: f2fa71cde9d2c70c9e381f40ed3f4f44be830c268b83cd2290448c75245470b5

Contents?: true

Size: 802 Bytes

Versions: 4

Compression:

Stored size: 802 Bytes

Contents

module Montrose
  module Utils
    module_function

    MONTHS = Date::MONTHNAMES
    DAYS = Date::DAYNAMES

    def month_number(name)
      case name
      when Symbol, String
        MONTHS.index(name.to_s.titleize)
      when 1..12
        name
      end
    end

    def month_number!(name)
      month_number(name) or fail ConfigurationError,
        "Did not recognize month #{name}, must be one of #{MONTHS.inspect}"
    end

    def day_number(name)
      case name
      when 0..6
        name
      when Symbol, String
        DAYS.index(name.to_s.titleize)
      when Array
        day_number name.first
      end
    end

    def day_number!(name)
      day_number(name) or fail ConfigurationError,
        "Did not recognize day #{name}, must be one of #{DAYS.inspect}"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
montrose-0.2.2 lib/montrose/utils.rb
montrose-0.2.1 lib/montrose/utils.rb
montrose-0.2.0 lib/montrose/utils.rb
montrose-0.1.1 lib/montrose/utils.rb