class Dry::Configurable::Setting

@private
This class represents a setting and is used internally.

def initialize(name, value, processor, options = EMPTY_HASH)

def initialize(name, value, processor, options = EMPTY_HASH)
  unless VALID_NAME =~ name.to_s
    raise ArgumentError, "+#{name}+ is not a valid setting name"
  end
  @name = name.to_sym
  @value = value
  @processor = processor
  @options = options
end

def node?

def node?
  Settings === @value
end

def reader?

def reader?
  options[:reader]
end

def reserved?

def reserved?
  options[:reserved]
end

def undefined?

def undefined?
  Undefined.equal?(@value)
end

def value

def value
  Undefined.default(@value, nil)
end