class RgGen::Core::InputBase::ComponentFactory

Public Class Methods

disable_no_children_error() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 12
def disable_no_children_error
  @enable_no_children_error = false
end
enable_no_children_error() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 8
def enable_no_children_error
  @enable_no_children_error = true
end
enable_no_children_error?() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 16
def enable_no_children_error?
  @enable_no_children_error.nil? || @enable_no_children_error
end

Protected Instance Methods

valid_value_list() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 114
def valid_value_list
  Array(active_feature_factories&.keys)
end

Private Instance Methods

active_feature_factories() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 102
def active_feature_factories
  @active_feature_factories ||=
    @feature_factories&.select { |_, f| f.active_feature_factory? }
end
create_active_features(component, input_data) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 61
def create_active_features(component, input_data)
  active_feature_factories.each do |name, factory|
    create_feature(component, factory, input_data[name])
  end
end
create_children(component, *sources) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 73
def create_children(component, *sources)
  sources.last.children.each do |child_data|
    create_child(component, *sources[0..-2], child_data)
  end
end
create_features(component, *sources) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 56
def create_features(component, *sources)
  create_active_features(component, sources.last)
  create_passive_features(component)
end
create_input_data(&block) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 53
def create_input_data(&block)
end
create_passive_features(component) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 67
def create_passive_features(component)
  passive_feature_factories.each_value do |factory|
    create_feature(component, factory)
  end
end
enable_no_children_error?() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 91
def enable_no_children_error?
  self.class.enable_no_children_error?
end
exist_no_children?(component) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 86
def exist_no_children?(component)
  enable_no_children_error? &&
    component.need_children? && component.children.empty?
end
finalize(component) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 98
def finalize(component)
  component.verify(:all)
end
find_loader(file) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 43
def find_loader(file)
  loaders.find { |l| l.support?(file) } ||
    (raise Core::LoadError.new('unsupported file type', file))
end
load_file(file, input_data) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 39
def load_file(file, input_data)
  find_loader(file).load_file(file, input_data, valid_value_lists)
end
load_files(files) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 33
def load_files(files)
  create_input_data do |input_data|
    files.each { |file| load_file(file, input_data) }
  end
end
passive_feature_factories() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 107
def passive_feature_factories
  @passive_feature_factories ||=
    @feature_factories&.select { |_, f| f.passive_feature_factory? }
end
post_build(component) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 79
def post_build(component)
  exist_no_children?(component) &&
    raise_no_children_error(component)
  component.post_build
  component.verify(:component)
end
preprocess(args) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 25
def preprocess(args)
  if root_factory?
    [*args[0..-2], load_files(args.last)]
  else
    args
  end
end
raise_no_children_error(_component) click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 95
def raise_no_children_error(_component)
end
valid_value_lists() click to toggle source
# File lib/rggen/core/input_base/component_factory.rb, line 48
def valid_value_lists
  component_factories
    .transform_values(&->(f) { f.valid_value_list })
end