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.



1923
1924
1925
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1923

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

Instance Attribute Details

#keysObject (readonly)

Mandatory keys.



1918
1919
1920
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1918

def keys
  @keys
end

Class Method Details

.decode(msg) ⇒ Object

:nodoc:



1933
1934
1935
1936
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1933

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:



1927
1928
1929
1930
1931
# File 'lib/rubygems/vendor/resolv/lib/resolv.rb', line 1927

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