class Dnsruby::Prefixes
Attributes
prefixes[RW]
Public Class Methods
create(arg)
click to toggle source
# File lib/dnsruby/resource/APL.rb, line 56 def create(arg) case arg when Prefixes return arg when String prefixes = arg.split(/\s/).map { |prefix| Prefix.create(prefix) } when Array prefixes = arg.map { |prefix| Prefix.create(prefix) } else raise ArgumentError.new("APL format erro #{arg}") end Prefixes.new(prefixes) end
create_from_message(msg)
click to toggle source
# File lib/dnsruby/resource/APL.rb, line 69 def create_from_message(msg) prefixes = [] while(msg.has_remaining?) do negative = nil af,prefix_length,flag = msg.get_unpack('nCC') negative = '!' if 0x80 & flag == 0x80 address_length = flag & 0x7f case(af) when 1 addr = msg.get_bytes(address_length) + "\0" * (4 - address_length) address = IPv4.new(addr) when 2 addr = msg.get_bytes(address_length) + "\0" * (16 - address_length) address = IPv6.new(addr) else raise ArgumentError.new("APL format error") end prefixes.push(Prefix.new(af, prefix_length, negative, address_length, address)) end Prefixes.new(prefixes) end
new(prefixes)
click to toggle source
# File lib/dnsruby/resource/APL.rb, line 93 def initialize(prefixes) @prefixes = prefixes end
Public Instance Methods
to_s()
click to toggle source
# File lib/dnsruby/resource/APL.rb, line 97 def to_s @prefixes.map(&:to_s).join(' ') end