Class Dnsruby::IPv4
In: lib/Dnsruby/ipv4.rb
Parent: Object
Message Update ResolvError EncodeError OtherResolvError ServFail FormErr DecodeError NXRRSet YXDomain NotImp NXDomain VerifyError NotAuth YXRRSet NotZone Refused TsigError CodeMapper Types MetaTypes QTypes Nsec3HashAlgorithms Algorithms OpCode Classes ExtendedRCode Modes RCode Comparable Name RRSet TsigNotSignedResponseError Resolver SingleResolver StandardError TimeoutError ResolvTimeout DNS Dnssec Hosts RR\n[lib/Dnsruby/resource/A.rb\nlib/Dnsruby/resource/AAAA.rb\nlib/Dnsruby/resource/AFSDB.rb\nlib/Dnsruby/resource/CERT.rb\nlib/Dnsruby/resource/DHCID.rb\nlib/Dnsruby/resource/DLV.rb\nlib/Dnsruby/resource/DNSKEY.rb\nlib/Dnsruby/resource/DS.rb\nlib/Dnsruby/resource/HINFO.rb\nlib/Dnsruby/resource/HIP.rb\nlib/Dnsruby/resource/IN.rb\nlib/Dnsruby/resource/IPSECKEY.rb\nlib/Dnsruby/resource/ISDN.rb\nlib/Dnsruby/resource/KX.rb\nlib/Dnsruby/resource/LOC.rb\nlib/Dnsruby/resource/MINFO.rb\nlib/Dnsruby/resource/MX.rb\nlib/Dnsruby/resource/NAPTR.rb\nlib/Dnsruby/resource/NSAP.rb\nlib/Dnsruby/resource/NSEC.rb\nlib/Dnsruby/resource/NSEC3.rb\nlib/Dnsruby/resource/NSEC3PARAM.rb\nlib/Dnsruby/resource/OPT.rb\nlib/Dnsruby/resource/PX.rb\nlib/Dnsruby/resource/RP.rb\nlib/Dnsruby/resource/RRSIG.rb\nlib/Dnsruby/resource/RT.rb\nlib/Dnsruby/resource/SOA.rb\nlib/Dnsruby/resource/SPF.rb\nlib/Dnsruby/resource/SRV.rb\nlib/Dnsruby/resource/SSHFP.rb\nlib/Dnsruby/resource/TKEY.rb\nlib/Dnsruby/resource/TSIG.rb\nlib/Dnsruby/resource/TXT.rb\nlib/Dnsruby/resource/X25.rb\nlib/Dnsruby/resource/domain_name.rb\nlib/Dnsruby/resource/generic.rb\nlib/Dnsruby/resource/resource.rb] Recursor IPv6 IPv4 ZoneTransfer MessageDecoder MessageEncoder Question Header TheLog ValidatorThread PacketSender ResolverRuby Config KeyCache Cache SingleVerifier SelectThread Resolv ZoneReader lib/Dnsruby/DNS.rb lib/Dnsruby/dnssec.rb lib/Dnsruby/Hosts.rb lib/Dnsruby/resource/generic.rb lib/Dnsruby/Recursor.rb lib/Dnsruby/update.rb lib/Dnsruby/ipv6.rb lib/Dnsruby/ipv4.rb lib/Dnsruby/code_mapper.rb lib/Dnsruby/zone_transfer.rb lib/Dnsruby/message.rb lib/Dnsruby/TheLog.rb lib/Dnsruby/resource/resource.rb lib/Dnsruby/validator_thread.rb lib/Dnsruby/PacketSender.rb lib/Dnsruby/Resolver.rb lib/Dnsruby/Config.rb lib/Dnsruby/key_cache.rb lib/Dnsruby/Cache.rb lib/Dnsruby/single_verifier.rb lib/Dnsruby/SingleResolver.rb lib/Dnsruby/select_thread.rb lib/Dnsruby/name.rb lib/dnsruby.rb lib/Dnsruby/resource/TKEY.rb lib/Dnsruby/zone_reader.rb Dnsruby dot/m_61_0.png

Methods

==   create   eql?   hash   to_name  

Constants

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

Attributes

address  [R]  A String representation of the IPv4 address.

Public Class methods

[Source]

    # File lib/Dnsruby/ipv4.rb, line 21
21:     def self.create(arg)
22:       case arg
23:       when IPv4
24:         return arg
25:       when Regex
26:         if (0..255) === (a = $1.to_i) &&
27:          (0..255) === (b = $2.to_i) &&
28:          (0..255) === (c = $3.to_i) &&
29:          (0..255) === (d = $4.to_i)
30:           return self.new([a, b, c, d].pack("CCCC"))
31:         else
32:           raise ArgumentError.new("IPv4 address with invalid value: " + arg)
33:         end
34:       else
35:         raise ArgumentError.new("cannot interpret as IPv4 address: #{arg.inspect}")
36:       end
37:     end

Public Instance methods

[Source]

    # File lib/Dnsruby/ipv4.rb, line 62
62:     def ==(other)
63:       return @address == other.address
64:     end

[Source]

    # File lib/Dnsruby/ipv4.rb, line 66
66:     def eql?(other)
67:       return self == other
68:     end

[Source]

    # File lib/Dnsruby/ipv4.rb, line 70
70:     def hash
71:       return @address.hash
72:     end

[Source]

    # File lib/Dnsruby/ipv4.rb, line 57
57:     def to_name
58:       return Name.create(
59:         '%d.%d.%d.%d.in-addr.arpa.' % @address.unpack('CCCC').reverse)
60:     end

[Validate]