Class: Gem::Resolv::DNS::SvcParam::Mandatory

Inherits:
Gem::Resolv::DNS::SvcParam show all
Defined in:
lib/rubygems/vendor/resolv/lib/resolv.rb

Overview

“mandatory” SvcParam – Mandatory keys in service binding RR

Constant Summary collapse

KeyName =
:mandatory
KeyNumber =
0

Constants inherited from Gem::Resolv::DNS::SvcParam

ClassHash

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Gem::Resolv::DNS::SvcParam

key_name, key_number

Constructor Details

#initialize(keys) ⇒ Mandatory

Initialize “mandatory” ScvParam.



1895
1896
1897
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1895

def initialize(keys)
  @keys = keys.map(&:to_int)
end

Instance Attribute Details

#keysObject (readonly)

Mandatory keys.



1890
1891
1892
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1890

def keys
  @keys
end

Class Method Details

.decode(msg) ⇒ Object

:nodoc:



1905
1906
1907
1908
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1905

def self.decode(msg) # :nodoc:
  keys = msg.get_list { msg.get_unpack('n')[0] }
  return self.new(keys)
end

Instance Method Details

#encode(msg) ⇒ Object

:nodoc:



1899
1900
1901
1902
1903
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1899

def encode(msg) # :nodoc:
  @keys.sort.each do |key|
    msg.put_pack('n', key)
  end
end