| Class | Resolv::IPv4 |
| In: |
lib/resolv.rb
|
| Parent: | Object |
| Regex | = | /\A(\d+)\.(\d+)\.(\d+)\.(\d+)\z/ |
| address | [R] |
# File lib/resolv.rb, line 1717
1717: def self.create(arg)
1718: case arg
1719: when IPv4
1720: return arg
1721: when Regex
1722: if (0..255) === (a = $1.to_i) &&
1723: (0..255) === (b = $2.to_i) &&
1724: (0..255) === (c = $3.to_i) &&
1725: (0..255) === (d = $4.to_i)
1726: return self.new([a, b, c, d].pack("CCCC"))
1727: else
1728: raise ArgumentError.new("IPv4 address with invalid value: " + arg)
1729: end
1730: else
1731: raise ArgumentError.new("cannot interpret as IPv4 address: #{arg.inspect}")
1732: end
1733: end
# File lib/resolv.rb, line 1735
1735: def initialize(address)
1736: unless address.kind_of?(String) && address.length == 4
1737: raise ArgumentError.new('IPv4 address must be 4 bytes')
1738: end
1739: @address = address
1740: end
# File lib/resolv.rb, line 1756
1756: def ==(other)
1757: return @address == other.address
1758: end
# File lib/resolv.rb, line 1747
1747: def inspect
1748: return "#<#{self.class} #{self.to_s}>"
1749: end