class Resolv::DNS::SvcParams

SvcParams for service binding RRs. [RFC9460]

Public Class Methods

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 1729
def initialize(params = [])
  @params = {}

  params.each do |param|
    add param
  end
end

Public Instance Methods

Get SvcParam for the given key in this list.

# File lib/resolv.rb, line 1740
def [](key)
  @params[canonical_key(key)]
end

Add the SvcParam param to this list, overwriting the existing one with the same key.

# File lib/resolv.rb, line 1761
def add(param)
  @params[param.class.key_number] = param
end

Get the number of SvcParams in this list.

# File lib/resolv.rb, line 1747
def count
  @params.count
end

Remove the SvcParam with the given key and return it.

# File lib/resolv.rb, line 1768
def delete(key)
  @params.delete(canonical_key(key))
end

Enumerate the +SvcParam+s in this list.

# File lib/resolv.rb, line 1775
def each(&block)
  return enum_for(:each) unless block
  @params.each_value(&block)
end

Get whether this list is empty.

# File lib/resolv.rb, line 1754
def empty?
  @params.empty?
end