Sha256: d354229133e26f99fef333273b0b9acbf34f92e05d855a783b1400f0484b5446

Contents?: true

Size: 1.2 KB

Versions: 46

Compression:

Stored size: 1.2 KB

Contents

# encoding: UTF-8

module TZInfo
  module DataSources
    # Represents a time zone that is defined as a link to or alias of another
    # zone.
    class LinkedTimezoneInfo < TimezoneInfo
      # @return [String] the identifier of the time zone that provides the data
      # (that this zone links to or is an alias for).
      attr_reader :link_to_identifier

      # Initializes a new {LinkedTimezoneInfo}. The passed in `identifier` and
      # `link_to_identifier` instances will be frozen.
      #
      # @param identifier [String] the identifier of the time zone.
      # @param link_to_identifier [String] the identifier of the time zone that
      #   this zone link to.
      # @raise [ArgumentError] if `identifier` or `link_to_identifier` are
      # `nil`.
      def initialize(identifier, link_to_identifier)
        super(identifier)
        raise ArgumentError, 'link_to_identifier must be specified' unless link_to_identifier
        @link_to_identifier = link_to_identifier.freeze
      end

      # @return [LinkedTimezone] a new {LinkedTimezone} instance for the time
      #   zone represented by this {LinkedTimezoneInfo}.
      def create_timezone
        LinkedTimezone.new(self)
      end
    end
  end
end

Version data entries

46 entries across 41 versions & 22 rubygems

Version Path
tzinfo-2.0.3 lib/tzinfo/data_sources/linked_timezone_info.rb
metanorma-cli-1.3.4 gems/ruby/2.6.0/gems/tzinfo-2.0.2/lib/tzinfo/data_sources/linked_timezone_info.rb
metanorma-cli-1.3.3.1 gems/ruby/2.6.0/gems/tzinfo-2.0.2/lib/tzinfo/data_sources/linked_timezone_info.rb
tzinfo-2.0.2 lib/tzinfo/data_sources/linked_timezone_info.rb
tzinfo-2.0.1 lib/tzinfo/data_sources/linked_timezone_info.rb
tzinfo-2.0.0 lib/tzinfo/data_sources/linked_timezone_info.rb