In: |
resolv.rb
|
Parent: | Object |
Regex | = | /\A(\d+)\.(\d+)\.(\d+)\.(\d+)\z/ |
address | [R] |
# File resolv.rb, line 1600 def self.create(arg) case arg when IPv4 return arg when Regex if (0..255) === (a = $1.to_i) && (0..255) === (b = $2.to_i) && (0..255) === (c = $3.to_i) && (0..255) === (d = $4.to_i) return self.new([a, b, c, d].pack("CCCC")) else raise ArgumentError.new("IPv4 address with invalid value: " + arg) end else raise ArgumentError.new("cannot interpret as IPv4 address: #{arg.inspect}") end end
# File resolv.rb, line 1618 def initialize(address) unless address.kind_of?(String) && address.length == 4 raise ArgumentError.new('IPv4 address must be 4 bytes') end @address = address end