Class: SvcbRrPatch::SvcParams::Mandatory

Inherits:
Object
  • Object
show all
Defined in:
lib/svcb_rr_patch/svc_params/mandatory.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(keys) ⇒ Mandatory



7
8
9
# File 'lib/svcb_rr_patch/svc_params/mandatory.rb', line 7

def initialize(keys)
  @keys = keys
end

Instance Attribute Details

#keysObject (readonly)

Returns the value of attribute keys.



4
5
6
# File 'lib/svcb_rr_patch/svc_params/mandatory.rb', line 4

def keys
  @keys
end

Class Method Details

.decode(octet) ⇒ Object

:nodoc:



17
18
19
20
21
# File 'lib/svcb_rr_patch/svc_params/mandatory.rb', line 17

def self.decode(octet)
  keys = octet.scan(/.{1,2}/)
              .map { |s| s.unpack1('n') }
  new(keys)
end

Instance Method Details

#encodeString



12
13
14
# File 'lib/svcb_rr_patch/svc_params/mandatory.rb', line 12

def encode
  @keys.sort.map { |k| [k].pack('n') }.join
end

#to_sObject

:nodoc:



24
25
26
27
# File 'lib/svcb_rr_patch/svc_params/mandatory.rb', line 24

def to_s
  @keys.map { |i| SvcbRrPatch::SvcParams::PARAMETER_REGISTRY[i] }
       .join(',')
end