Class: TZInfo::CountryTimezone
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/tzinfo/country_timezone.rb |
Overview
Information about a time zone used by a Country
.
Class Method Summary
-
.new(identifier, latitude, longitude, description = nil) ⇒ CountryTimezone
constructor
Creates a new
CountryTimezone
.
Instance Attribute Summary
-
#description ⇒ String
readonly
A description of this time zone in relation to the country, e.g. "Eastern Time".
- #identifier ⇒ String readonly
-
#latitude ⇒ Rational
readonly
The latitude of this time zone in degrees.
-
#longitude ⇒ Rational
readonly
The longitude of this time zone in degrees.
Instance Method Summary
-
#==(ct) ⇒ TrueClass
Tests if the given object is equal to the current instance (has the same identifier, latitude, longitude and description).
- #description_or_friendly_identifier ⇒ String
-
#eql?(ct) ⇒ Boolean
Tests if the given object is equal to the current instance (has the same identifier, latitude, longitude and description).
-
#hash ⇒ Integer
#longitude and #description.
-
#timezone ⇒ Timezone
Returns the associated
Timezone
.
Constructor Details
.new(identifier, latitude, longitude, description = nil) ⇒ CountryTimezone
Creates a new CountryTimezone
.
The passed in identifier and description instances will be frozen.
CountryTimezone
instances should normally only be constructed
by implementations of DataSource
.
# File 'lib/tzinfo/country_timezone.rb', line 44
def initialize(identifier, latitude, longitude, description = nil) @identifier = identifier.freeze @latitude = latitude @longitude = longitude @description = description && description.freeze end
Instance Attribute Details
#description ⇒ String
(readonly)
A description of this time zone in relation to the country, e.g. "Eastern
Time". This is usually nil
for countries that have a single time zone.
# File 'lib/tzinfo/country_timezone.rb', line 31
attr_reader :description
#identifier ⇒ String
(readonly)
# File 'lib/tzinfo/country_timezone.rb', line 7
attr_reader :identifier
#latitude ⇒ Rational
(readonly)
The latitude of this time zone in degrees. Positive numbers are degrees north and negative numbers are degrees south.
Note that depending on the data source, the position given by #latitude
and #longitude may not be within the country.
# File 'lib/tzinfo/country_timezone.rb', line 16
attr_reader :latitude
#longitude ⇒ Rational
(readonly)
The longitude of this time zone in degrees. Positive numbers are degrees east and negative numbers are degrees west.
Note that depending on the data source, the position given by #latitude
and #longitude
may not be within the country.
# File 'lib/tzinfo/country_timezone.rb', line 25
attr_reader :longitude
Instance Method Details
#==(ct) ⇒ TrueClass
Tests if the given object is equal to the current instance (has the same identifier, latitude, longitude and description).
# File 'lib/tzinfo/country_timezone.rb', line 72
def ==(ct) ct.kind_of?(CountryTimezone) && identifier == ct.identifier && latitude == ct.latitude && longitude == ct.longitude && description == ct.description end
#description_or_friendly_identifier ⇒ String
# File 'lib/tzinfo/country_timezone.rb', line 63
def description_or_friendly_identifier description || timezone.friendly_identifier(true) end
#eql?(ct) ⇒ Boolean
Tests if the given object is equal to the current instance (has the same identifier, latitude, longitude and description).
# File 'lib/tzinfo/country_timezone.rb', line 83
def eql?(ct) self == ct end
#hash ⇒ Integer
#longitude and #description.
# File 'lib/tzinfo/country_timezone.rb', line 89
def hash [@identifier, @latitude, @longitude, @description].hash end
#timezone ⇒ Timezone
Returns the associated Timezone
.
The result is actually an instance of TimezoneProxy
in order to defer
loading of the time zone transition data until it is first needed.