Class Resolv::IPv4
In: lib/resolv.rb
Parent: Object

A Resolv::DNS IPv4 address.

Methods

create   to_name  

Constants

Regex = /\A(\d+)\.(\d+)\.(\d+)\.(\d+)\z/   Regular expression IPv4 addresses must match.

Attributes

address  [R]  The raw IPv4 address as a String.

Public Class methods

[Source]

      # File lib/resolv.rb, line 2038
2038:     def self.create(arg)
2039:       case arg
2040:       when IPv4
2041:         return arg
2042:       when Regex
2043:         if (0..255) === (a = $1.to_i) &&
2044:            (0..255) === (b = $2.to_i) &&
2045:            (0..255) === (c = $3.to_i) &&
2046:            (0..255) === (d = $4.to_i)
2047:           return self.new([a, b, c, d].pack("CCCC"))
2048:         else
2049:           raise ArgumentError.new("IPv4 address with invalid value: " + arg)
2050:         end
2051:       else
2052:         raise ArgumentError.new("cannot interpret as IPv4 address: #{arg.inspect}")
2053:       end
2054:     end

Public Instance methods

Turns this IPv4 address into a Resolv::DNS::Name.

[Source]

      # File lib/resolv.rb, line 2082
2082:     def to_name
2083:       return DNS::Name.create(
2084:         '%d.%d.%d.%d.in-addr.arpa.' % @address.unpack('CCCC').reverse)
2085:     end

[Validate]