class ConfigMapper::ConfigList

Public Class Methods

new(entry_factory) click to toggle source
# File lib/config_mapper/config_list.rb, line 33
def initialize(entry_factory)
  @entry_factory = entry_factory
  @entries = []
end

Public Instance Methods

[](index) click to toggle source
# File lib/config_mapper/config_list.rb, line 38
def [](index)
  @entries[index] ||= @entry_factory.new
end
config_errors() click to toggle source
# File lib/config_mapper/config_list.rb, line 52
def config_errors
  {}.tap do |errors|
    each_with_index do |element, index|
      next unless element.respond_to?(:config_errors)
      prefix = "[#{index}]"
      element.config_errors.each do |path, path_errors|
        errors["#{prefix}#{path}"] = path_errors
      end
    end
  end
end
to_a() click to toggle source
# File lib/config_mapper/config_list.rb, line 42
def to_a
  map do |element|
    case
      when element.respond_to?(:to_h); element.to_h
      when element.respond_to?(:to_a); element.to_a
      else element
    end
  end
end