class Dry::Configurable::Settings

A settings map

@api private

Attributes

elements[R]

@api private

Public Class Methods

new(elements = EMPTY_ARRAY) click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 22
def initialize(elements = EMPTY_ARRAY)
  initialize_elements(elements)
end

Public Instance Methods

<<(setting) click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 27
def <<(setting)
  elements[setting.name] = setting
  self
end
[](name) click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 33
def [](name)
  elements[name]
end
each(&block) click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 48
def each(&block)
  elements.values.each(&block)
end
key?(name) click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 38
def key?(name)
  keys.include?(name)
end
keys() click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 43
def keys
  elements.keys
end
pristine() click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 53
def pristine
  self.class.new(map(&:pristine))
end

Private Instance Methods

initialize_copy(source) click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 60
def initialize_copy(source)
  initialize_elements(source.map(&:dup))
end
initialize_elements(elements) click to toggle source

@api private

# File lib/dry/configurable/settings.rb, line 65
def initialize_elements(elements)
  @elements = elements.each_with_object(Concurrent::Map.new) { |s, m|
    m[s.name] = s
  }
end