class TZInfo::DataSources::TimezoneInfo
Represents a time zone defined by a data source.
@abstract Data sources return instances of {TimezoneInfo} subclasses.
Attributes
@return [String] the identifier of the time zone.
Public Class Methods
Source
# File lib/tzinfo/data_sources/timezone_info.rb, line 18 def initialize(identifier) raise ArgumentError, 'identifier must be specified' unless identifier @identifier = identifier.freeze end
Initializes a new TimezoneInfo
. The passed in ‘identifier` instance will be frozen.
@param identifier [String] the identifier of the time zone. @raise [ArgumentError] if ‘identifier` is `nil`.
Public Instance Methods
Source
# File lib/tzinfo/data_sources/timezone_info.rb, line 31 def create_timezone raise_not_implemented('create_timezone') end
@return [Timezone] a new {Timezone} instance for the time zone
represented by this {TimezoneInfo}.
Source
# File lib/tzinfo/data_sources/timezone_info.rb, line 25 def inspect "#<#{self.class}: #@identifier>" end
@return [String] the internal object state as a programmer-readable
`String`.
Private Instance Methods
Source
# File lib/tzinfo/data_sources/timezone_info.rb, line 42 def raise_not_implemented(method_name) raise NotImplementedError, "Subclasses must override #{method_name}" end
Raises a {NotImplementedError}.
@param method_name [String] the name of the method that must be
overridden.
@raise NotImplementedError always.