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