class Dnsruby::RR::NXT::TypeBitmap

Attributes

bitmap[RW]

Public Class Methods

from_binary_string(binary_string) click to toggle source

Create an instance from a binary string, e.g. from a NXT record RDATA:

# File lib/dnsruby/resource/NXT.rb, line 271
def self.from_binary_string(binary_string)
  new(BitMapping.binary_string_to_number(binary_string))
end
from_names_string(names_string) click to toggle source

Create an instance from a string containing type names separated by spaces e.g. “A TXT NXT”

# File lib/dnsruby/resource/NXT.rb, line 260
def self.from_names_string(names_string)
  type_codes = BitMapping.names_string_to_codes(names_string)
  from_type_codes(type_codes)
end
from_type_codes(type_codes) click to toggle source

Create an instance from type numeric codes (e.g. 30 for NXT).

# File lib/dnsruby/resource/NXT.rb, line 266
def self.from_type_codes(type_codes)
  new(BitMapping.set_bit_position_array_to_number(type_codes))
end
new(bitmap_number) click to toggle source

The constructor is made private so that the name of the method called to create the instance reveals to the reader the type of the initial data.

# File lib/dnsruby/resource/NXT.rb, line 278
def initialize(bitmap_number)
  NxtTypes.assert_legal_bitmap_value(bitmap_number)
  @bitmap = Bitmap.from_number(bitmap_number)
end

Public Instance Methods

to_binary_string() click to toggle source

Returns a binary string representing this data, in as few bytes as possible (i.e. no leading zero bytes).

# File lib/dnsruby/resource/NXT.rb, line 285
def to_binary_string
  bitmap.to_binary_string
end
to_s() click to toggle source

Output types in dig format, e.g. “A AAAA NXT”

# File lib/dnsruby/resource/NXT.rb, line 295
def to_s
  type_codes = bitmap.to_set_bit_position_array
  NxtTypes.codes_to_string(type_codes)
end
to_type_array() click to toggle source

Returns the instance's data as an array of type codes.

# File lib/dnsruby/resource/NXT.rb, line 290
def to_type_array
  bitmap.to_set_bit_position_array
end