# class Resolv::DNS::SvcParams

`SvcParams` for service binding RRs. [RFC9460]

### Public Class Methods

new (params = [])
Source

    # File lib/resolv.rb, line 1732
    def initialize(params = [])
      @params = {}

      params.each do |param|
        add param
      end
    end

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.

### Public Instance Methods

[] (key)
Source

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

Get `SvcParam` for the given `key` in this list.

add (param)
Source

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

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

count ()
Source

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

Get the number of `SvcParams` in this list.

delete (key)
Source

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

Remove the `SvcParam` with the given `key` and return it.

each (&block)
Source

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

Enumerate the +SvcParam+s in this list.

empty? ()
Source

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

Get whether this list is empty.