class RgGen::Core::Builder::InputComponentRegistry

Public Class Methods

new(name, builder) click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 7
def initialize(name, builder)
  super
  @loader_registries = {}
end

Public Instance Methods

build_factory() click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 50
def build_factory
  factory = super
  factory.loaders(build_loaders)
  factory
end
define_value_extractor(loader_type, layers_or_value, value = nil, &body) click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 20
def define_value_extractor(loader_type, layers_or_value, value = nil, &body)
  layers, value =
    if value
      [layers_or_value, value]
    else
      [nil, layers_or_value]
    end
  loader_registry(loader_type).define_value_extractor(layers, value, &body)
end
ignore_value(loader_type, layers_or_value, value = nil) click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 30
def ignore_value(loader_type, layers_or_value, value = nil)
  layers, value =
    if value
      [layers_or_value, value]
    else
      [nil, layers_or_value]
    end
  loader_registry(loader_type).ignore_value(layers, value)
end
ignore_values(loader_type, layers_or_values, values = nil) click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 40
def ignore_values(loader_type, layers_or_values, values = nil)
  layers, values =
    if values
      [layers_or_values, values]
    else
      [nil, layers_or_values]
    end
  loader_registry(loader_type).ignore_values(layers, values)
end
register_loader(loader_type, loader) click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 12
def register_loader(loader_type, loader)
  loader_registry(loader_type).register_loader(loader)
end
register_loaders(loader_type, loaders) click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 16
def register_loaders(loader_type, loaders)
  loader_registry(loader_type).register_loaders(loaders)
end

Private Instance Methods

build_loaders() click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 62
def build_loaders
  @loader_registries.values.flat_map(&:create_loaders)
end
loader_registry(loader_type) click to toggle source
# File lib/rggen/core/builder/input_component_registry.rb, line 58
def loader_registry(loader_type)
  @loader_registries[loader_type] ||= LoaderRegistry.new
end