Class: Resolv::LOC::Alt
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | lib/resolv.rb |
Overview
A Alt
Constant Summary
-
Bias =
# File 'lib/resolv.rb', line 3434
Biasto a base of 100,000m below the WGS 84 reference spheroid.100_000_00 -
Regex =
# File 'lib/resolv.rb', line 3431
Regular expression
::Resolv::LOCAlt must match./\A([-]?0*\d{1,8}(?:\.\d)?)m\z/
Class Method Summary
-
.create(arg)
Creates a new
Altfromargwhich may be: -
.new(altitude) ⇒ Alt
constructor
Internal use; use self.create.
Instance Attribute Summary
-
#altitude
readonly
The raw altitude.
Instance Method Summary
Constructor Details
.new(altitude) ⇒ Alt
Internal use; use self.create.
Class Method Details
.create(arg)
Creates a new Alt from arg which may be:
LOC::Alt:: returns arg.
- String
argmust match the Regex constant
# File 'lib/resolv.rb', line 3442
def self.create(arg) case arg when Alt return arg when String unless Regex =~ arg raise ArgumentError.new("not a properly formed Alt string: " + arg) end altitude = ($1.to_f * 100).to_i + Bias unless (0...0x1_0000_0000) === altitude raise ArgumentError.new("out of raise as Alt: #{arg}") end return new([altitude].pack("N")) else raise ArgumentError.new("cannot interpret as Alt: #{arg.inspect}") end end
Instance Attribute Details
#altitude (readonly)
The raw altitude
# File 'lib/resolv.rb', line 3468
attr_reader :altitude
Instance Method Details
#==(other)
[ GitHub ]# File 'lib/resolv.rb', line 3479
def ==(other) # :nodoc: return @altitude == other.altitude end
#eql?(other) ⇒ Boolean
# File 'lib/resolv.rb', line 3483
def eql?(other) # :nodoc: return self == other end
#hash
[ GitHub ]# File 'lib/resolv.rb', line 3487
def hash # :nodoc: return @altitude.hash end
#inspect
[ GitHub ]# File 'lib/resolv.rb', line 3475
def inspect # :nodoc: return "#<#{self.class} #{self}>" end
#to_s
[ GitHub ]# File 'lib/resolv.rb', line 3470
def to_s # :nodoc: a, = @altitude.unpack("N") return "#{(a - Bias).fdiv(100)}m" end