Sha256: 9d65125a3299d08a79f9e5a093286dbad50cb8b58f795839b8a2c227e80a2781

Contents?: true

Size: 553 Bytes

Versions: 58

Compression:

Stored size: 553 Bytes

Contents

# frozen_string_literal: true

module Worldwide
  class TimeZone
    class << self
      def all
        @all ||= uniq_zone_names.map { |zone_name| new(zone_name) }
      end

      private

      def uniq_zone_names
        ActiveSupport::TimeZone.all.map do |time_zone|
          time_zone.tzinfo.name
        end.uniq
      end
    end

    attr_reader :name

    def initialize(name)
      @name = name
    end

    def to_s
      translated_name
    end

    private

    def translated_name
      Cldr.t(name, scope: :timezones)
    end
  end
end

Version data entries

58 entries across 58 versions & 1 rubygems

Version Path
worldwide-1.15.2 lib/worldwide/time_zone.rb
worldwide-1.15.1 lib/worldwide/time_zone.rb
worldwide-1.15.0 lib/worldwide/time_zone.rb
worldwide-1.14.4 lib/worldwide/time_zone.rb
worldwide-1.14.3 lib/worldwide/time_zone.rb
worldwide-1.14.1 lib/worldwide/time_zone.rb
worldwide-1.14.0 lib/worldwide/time_zone.rb
worldwide-1.13.0 lib/worldwide/time_zone.rb
worldwide-1.12.0 lib/worldwide/time_zone.rb
worldwide-1.11.1 lib/worldwide/time_zone.rb
worldwide-1.11.0 lib/worldwide/time_zone.rb
worldwide-1.10.0 lib/worldwide/time_zone.rb
worldwide-1.9.0 lib/worldwide/time_zone.rb
worldwide-1.8.0 lib/worldwide/time_zone.rb
worldwide-1.7.5 lib/worldwide/time_zone.rb
worldwide-1.7.4 lib/worldwide/time_zone.rb
worldwide-1.7.3 lib/worldwide/time_zone.rb
worldwide-1.7.2 lib/worldwide/time_zone.rb
worldwide-1.7.1 lib/worldwide/time_zone.rb
worldwide-1.7.0 lib/worldwide/time_zone.rb