Sha256: 064b6360895acdb971b163949cb0cb0515e995519ee0f43094683f9e58d58a9e

Contents?: true

Size: 453 Bytes

Versions: 6

Compression:

Stored size: 453 Bytes

Contents

module Montrose
  class Week
    class << self
      NUMBERS = (-53.upto(-1).to_a + 1.upto(53).to_a)

      def parse(arg)
        return nil unless arg.present?

        Array(arg).map { |value| assert(value.to_i) }
      end

      def assert(number)
        test = number.abs
        raise ConfigurationError, "Out of range: #{NUMBERS.inspect} does not include #{test}" unless NUMBERS.include?(number.abs)

        number
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
montrose-0.18.0 lib/montrose/week.rb
montrose-0.17.0 lib/montrose/week.rb
montrose-0.16.0 lib/montrose/week.rb
montrose-0.15.0 lib/montrose/week.rb
montrose-0.14.0 lib/montrose/week.rb
montrose-0.13.0 lib/montrose/week.rb