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

A Resolv::DNS IPv4 address.

Methods

create   to_name  

Constants

Regex256 = /0 |1(?:[0-9][0-9]?)? |2(?:[0-4][0-9]?|5[0-5]?|[6-9])? |[3-9][0-9]?/x   Regular expression IPv4 addresses must match.
Regex = /\A(#{Regex256})\.(#{Regex256})\.(#{Regex256})\.(#{Regex256})\z/

Attributes

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

Public Class methods

[Source]

      # File lib/resolv.rb, line 2075
2075:     def self.create(arg)
2076:       case arg
2077:       when IPv4
2078:         return arg
2079:       when Regex
2080:         if (0..255) === (a = $1.to_i) &&
2081:            (0..255) === (b = $2.to_i) &&
2082:            (0..255) === (c = $3.to_i) &&
2083:            (0..255) === (d = $4.to_i)
2084:           return self.new([a, b, c, d].pack("CCCC"))
2085:         else
2086:           raise ArgumentError.new("IPv4 address with invalid value: " + arg)
2087:         end
2088:       else
2089:         raise ArgumentError.new("cannot interpret as IPv4 address: #{arg.inspect}")
2090:       end
2091:     end

Public Instance methods

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

[Source]

      # File lib/resolv.rb, line 2119
2119:     def to_name
2120:       return DNS::Name.create(
2121:         '%d.%d.%d.%d.in-addr.arpa.' % @address.unpack('CCCC').reverse)
2122:     end

[Validate]