Sha256: d8d94f0f53e8491a4d73639d4641f552330eb7bee741805ca4d24ce9e9b67ce2

Contents?: true

Size: 759 Bytes

Versions: 14

Compression:

Stored size: 759 Bytes

Contents

# frozen_string_literal: true

require "worldwide/calendar/gregorian"

module Worldwide
  module Calendar
    data = YAML.load_file(File.join(Worldwide::Paths::CLDR_ROOT, "week_data.yml"))["first_day"]
    weekday_numbers = {
      sun: 0,
      mon: 1,
      tue: 2,
      wed: 3,
      thu: 4,
      fri: 5,
      sat: 6,
    }
    FIRST_DAY_DATA = data.each_with_object({}) do |(day, territories), memo|
      territories.each do |territory|
        memo[territory.to_sym] = weekday_numbers.fetch(day.to_sym)
      end
    end
    FIRST_DAY_DATA.freeze
    private_constant :FIRST_DAY_DATA

    class << self
      def first_week_day(territory_code)
        FIRST_DAY_DATA[territory_code.to_sym] || FIRST_DAY_DATA.fetch(:"001")
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
worldwide-1.16.0 lib/worldwide/calendar.rb
worldwide-1.15.2 lib/worldwide/calendar.rb
worldwide-1.15.1 lib/worldwide/calendar.rb
worldwide-1.15.0 lib/worldwide/calendar.rb
worldwide-1.14.4 lib/worldwide/calendar.rb
worldwide-1.14.3 lib/worldwide/calendar.rb
worldwide-1.14.1 lib/worldwide/calendar.rb
worldwide-1.14.0 lib/worldwide/calendar.rb
worldwide-1.13.0 lib/worldwide/calendar.rb
worldwide-1.12.0 lib/worldwide/calendar.rb
worldwide-1.11.1 lib/worldwide/calendar.rb
worldwide-1.11.0 lib/worldwide/calendar.rb
worldwide-1.10.0 lib/worldwide/calendar.rb
worldwide-1.9.0 lib/worldwide/calendar.rb