Class: Resolv::LOC::Coord (Ruby 2.2.3)
Description: Class : Resolv::LOC::Coord - Ruby 2.2.3

- Home
- Core 2.2.3
- Std-lib 2.2.3
- Downloads

Support for the Ruby 2.2 series has ended. See here for reference.

### Home Classes Methods

### In Files

- resolv.rb

### Parent

Object

### Methods

- ::create
- ::new

### Class/Module Index

Quicksearch

- Resolv
- Resolv::DNS
- Resolv::DNS::Config
- Resolv::DNS::Config::NXDomain
- Resolv::DNS::Config::OtherResolvError
- Resolv::DNS::DecodeError
- Resolv::DNS::EncodeError
- Resolv::DNS::Name
- Resolv::DNS::Query
- Resolv::DNS::Requester
- Resolv::DNS::Requester::RequestError
- Resolv::DNS::Resource
- Resolv::DNS::Resource::ANY
- Resolv::DNS::Resource::CNAME
- Resolv::DNS::Resource::DomainName
- Resolv::DNS::Resource::Generic
- Resolv::DNS::Resource::HINFO
- Resolv::DNS::Resource::IN
- Resolv::DNS::Resource::IN::A
- Resolv::DNS::Resource::IN::AAAA
- Resolv::DNS::Resource::IN::SRV
- Resolv::DNS::Resource::IN::WKS
- Resolv::DNS::Resource::LOC
- Resolv::DNS::Resource::MINFO
- Resolv::DNS::Resource::MX
- Resolv::DNS::Resource::NS
- Resolv::DNS::Resource::PTR
- Resolv::DNS::Resource::SOA
- Resolv::DNS::Resource::TXT
- Resolv::Hosts
- Resolv::IPv4
- Resolv::IPv6
- Resolv::LOC
- Resolv::LOC::Alt
- Resolv::LOC::Coord
- Resolv::LOC::Size
- Resolv::MDNS
- Resolv::ResolvError
- Resolv::ResolvTimeout

No matching classes.

# Resolv::LOC::Coord

A Resolv::LOC::Coord

### Constants

Regex

### Attributes

coordinates[R]

The raw coordinates

orientation[R]

The orientation of the hemisphere as 'lat' or 'lon'

### Public Class Methods

create(arg) click to toggle source

Creates a new LOC::Coord from `arg` which may be:

LOC::Coord

  returns `arg`.

String

  `arg` must match the LOC::Coord::Regex constant

                   # File resolv.rb, line 2685
    def self.create(arg)
      case arg
      when Coord
        return arg
      when String
        coordinates = ''
        if Regex =~ arg &&  $1<180
          hemi = ($4[/([NE])/,1]) || ($4[/([SW])/,1]) ? 1 : -1
          coordinates = [(($1.to_i*(36e5))+($2.to_i*(6e4))+($3.to_f*(1e3)))*hemi+(2**31)].pack("N")
          (orientation ||= '') << $4[[/NS/],1] ? 'lat' : 'lon'
        else
          raise ArgumentError.new("not a properly formed Coord string: " + arg)
        end
        return Coord.new(coordinates,orientation)
      else
        raise ArgumentError.new("cannot interpret as Coord: #{arg.inspect}")
      end
    end

new(coordinates,orientation) click to toggle source

                   # File resolv.rb, line 2704
    def initialize(coordinates,orientation)
      unless coordinates.kind_of?(String)
        raise ArgumentError.new("Coord must be a 32bit unsigned integer in hex format: #{coordinates.inspect}")
      end
      unless orientation.kind_of?(String) && orientation[/^lon$|^lat$/]
        raise ArgumentError.new('Coord expects orientation to be a String argument of "lat" or "lon"')
      end
      @coordinates = coordinates
      @orientation = orientation
    end