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

Public Instance methods

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

[Source]

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

[Validate]