class Net::DNS::RR::AAAA
IPv6 Address Record (AAAA)¶ ↑
Class for DNS IPv6 Address (AAAA) resource records.
Public Instance Methods
address()
click to toggle source
Gets the current IPv6 address for this record.
Returns an instance of IPAddr.
# File lib/net/dns/rr/aaaa.rb, line 15 def address @address end
address=(string_or_ipaddr)
click to toggle source
Assigns a new IPv6 address to this record, which can be in the form of a
String
or an IPAddr
object.
Examples
a.address = "192.168.0.1" a.address = IPAddr.new("10.0.0.1")
Returns the new allocated instance of IPAddr.
# File lib/net/dns/rr/aaaa.rb, line 28 def address=(string_or_ipaddr) @address = check_address(string_or_ipaddr) build_pack @address end
value()
click to toggle source
Gets the standardized value for this record, represented by the value of
address
.
Returns a String.
# File lib/net/dns/rr/aaaa.rb, line 38 def value address.to_s end
Private Instance Methods
build_pack()
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 90 def build_pack @address_pack = @address.hton @rdlength = @address_pack.size end
check_address(input)
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 73 def check_address(input) address = case input when IPAddr input when String IPAddr.new(input) else raise ArgumentError, "Invalid IP address `#{input}'" end if !address.ipv6? raise(ArgumentError, "Must specify an IPv6 address") end address end
get_data()
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 95 def get_data @address_pack end
get_inspect()
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 68 def get_inspect value end
set_type()
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 64 def set_type @type = Net::DNS::RR::Types.new("AAAA") end
subclass_new_from_binary(data, offset)
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 57 def subclass_new_from_binary(data, offset) tokens = data.unpack("@#{offset} n8") @address = IPAddr.new(sprintf("%x:%x:%x:%x:%x:%x:%x:%x", *tokens)) offset + 16 end
subclass_new_from_hash(options)
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 45 def subclass_new_from_hash(options) if options.has_key?(:address) @address = check_address(options[:address]) else raise ArgumentError, ":address field is mandatory" end end
subclass_new_from_string(str)
click to toggle source
# File lib/net/dns/rr/aaaa.rb, line 53 def subclass_new_from_string(str) @address = check_address(str) end