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