class Dry::Configurable::Settings

@private
A collection of settings. This is not part of the public API.

def self.capture(&block)

Returns:
  • (Dry::Configurable::Setting) -
def self.capture(&block)
  DSL.(&block)
end

def add(key, value = Undefined, options = Undefined, &block)

def add(key, value = Undefined, options = Undefined, &block)
  extended = singleton_class < Configurable
  raise_already_defined_config(key) if extended && configured?
  Setting.new(key, *Parser.(value, options, block)).tap do |s|
    settings << s
    names << s.name
  end
end

def config_defined?

def config_defined?
  config_class.config_defined?
end

def create_config

def create_config
  config_class.new
end

def dup

def dup
  Settings.new(settings.dup)
end

def each

def each
  settings.each { |s| yield(s) }
end

def empty?

def empty?
  settings.empty?
end

def freeze

def freeze
  settings.freeze
  super
end

def initialize(settings = ::Concurrent::Array.new)

def initialize(settings = ::Concurrent::Array.new)
  @settings = settings
  @config_class = Config[self]
  @names = Set.new(settings.map(&:name))
  yield(self) if block_given?
end

def name?(name)

def name?(name)
  names.include?(name)
end