class Resolv::DNS::SvcParams

SvcParams for service binding RRs. [RFC9460]

Public Class Methods

new(params = []) click to toggle source

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

  params.each do |param|
    add param
  end
end

Public Instance Methods

[](key) click to toggle source

Get SvcParam for the given key in this list.

# File lib/resolv.rb, line 1727
def [](key)
  @params[canonical_key(key)]
end
add(param) click to toggle source

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

# File lib/resolv.rb, line 1748
def add(param)
  @params[param.class.key_number] = param
end
count() click to toggle source

Get the number of SvcParams in this list.

# File lib/resolv.rb, line 1734
def count
  @params.count
end
delete(key) click to toggle source

Remove the SvcParam with the given key and return it.

# File lib/resolv.rb, line 1755
def delete(key)
  @params.delete(canonical_key(key))
end
each(&block) click to toggle source

Enumerate the +SvcParam+s in this list.

# File lib/resolv.rb, line 1762
def each(&block)
  return enum_for(:each) unless block
  @params.each_value(&block)
end
empty?() click to toggle source

Get whether this list is empty.

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