Class: TZInfo::Data::TZDataLocation

Inherits:
Object
  • Object
show all
Defined in:
lib/tzinfo/data/tzdataparser.rb

Overview

A location (latitude + longitude)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(coordinates) ⇒ TZDataLocation

Constructs a new TZDataLocation from a string in ISO 6709 sign-degrees-minutes-seconds format, either -DDMM-DDDMM or -DDMMSS-DDDMMSS, first latitude (+ is north), then longitude (+ is east).



1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
# File 'lib/tzinfo/data/tzdataparser.rb', line 1220

def initialize(coordinates)
  if coordinates !~ /^([+\-])([0-9]{2})([0-9]{2})([0-9]{2})?([+\-])([0-9]{3})([0-9]{2})([0-9]{2})?$/
    raise "Invalid coordinates: #{coordinates}"
  end
  
  @latitude = Rational($2.to_i) + Rational($3.to_i, 60)
  @latitude += Rational($4.to_i, 3600) unless $4.nil?
  @latitude = -@latitude if $1 == '-'
  
  @longitude = Rational($6.to_i) + Rational($7.to_i, 60)
  @longitude += Rational($8.to_i, 3600) unless $8.nil?
  @longitude = -@longitude if $5 == '-'
end

Instance Attribute Details

#latitudeObject (readonly)

:nodoc:



1213
1214
1215
# File 'lib/tzinfo/data/tzdataparser.rb', line 1213

def latitude
  @latitude
end

#longitudeObject (readonly)

Returns the value of attribute longitude.



1214
1215
1216
# File 'lib/tzinfo/data/tzdataparser.rb', line 1214

def longitude
  @longitude
end