class Resolv::DNS::SvcParams
SvcParams
for service binding RRs. [RFC9460]
Public Class Methods
new
(params = [])
Create a list of SvcParams
with the given initial content.
params
has to be an enumerable of +SvcParam+s. If its content has +SvcParam+s with the duplicate key, the one appears last takes precedence.
# File lib/resolv.rb, line 1727 def initialize(params = []) @params = {} params.each do |param| add param end end
Public Instance Methods
[]
(key)
Get SvcParam
for the given key
in this list.
# File lib/resolv.rb, line 1738 def [](key) @params[canonical_key(key)] end
add
(param)
Add the SvcParam
param
to this list, overwriting the existing one with the same key.
# File lib/resolv.rb, line 1759 def add(param) @params[param.class.key_number] = param end
count
()
Get the number of SvcParams
in this list.
# File lib/resolv.rb, line 1745 def count @params.count end
delete
(key)
Remove the SvcParam
with the given key
and return it.
# File lib/resolv.rb, line 1766 def delete(key) @params.delete(canonical_key(key)) end
each
(&block)
Enumerate the +SvcParam+s in this list.
# File lib/resolv.rb, line 1773 def each(&block) return enum_for(:each) unless block @params.each_value(&block) end
empty?
()
Get whether this list is empty.
# File lib/resolv.rb, line 1752 def empty? @params.empty? end