class Dry::Configurable::Settings

@api private
A settings map

def <<(setting)

Other tags:
    Api: - private
def <<(setting)
  elements[setting.name] = setting
  self
end

def [](name)

Other tags:
    Api: - private
def [](name)
  elements[name]
end

def each(&block)

Other tags:
    Api: - private
def each(&block)
  elements.values.each(&block)
end

def initialize(elements = EMPTY_ARRAY)

Other tags:
    Api: - private
def initialize(elements = EMPTY_ARRAY)
  initialize_elements(elements)
end

def initialize_copy(source)

Other tags:
    Api: - private
def initialize_copy(source)
  initialize_elements(source.map(&:dup))
end

def initialize_elements(elements)

Other tags:
    Api: - private
def initialize_elements(elements)
  @elements = elements.each_with_object(Concurrent::Map.new) { |s, m|
    m[s.name] = s
  }
end

def key?(name)

Other tags:
    Api: - private
def key?(name)
  keys.include?(name)
end

def keys

Other tags:
    Api: - private
def keys
  elements.keys
end

def pristine

Other tags:
    Api: - private
def pristine
  self.class.new(map(&:pristine))
end