class RgGen::Core::Generator
Attributes
configuration[R]
register_map[R]
Public Instance Methods
run(builder, options)
click to toggle source
# File lib/rggen/core/generator.rb, line 6 def run(builder, options) load_plugins(builder, options) load_configuration(builder, options[:configuration]) load_register_map(builder, options.register_map_files) write_files(builder, options) end
Private Instance Methods
file_writers(builder, targets)
click to toggle source
# File lib/rggen/core/generator.rb, line 44 def file_writers(builder, targets) builder .build_factories(:output, targets) .map { |factory| factory.create(configuration, register_map) } end
load_configuration(builder, file)
click to toggle source
# File lib/rggen/core/generator.rb, line 22 def load_configuration(builder, file) @configuration = builder .build_factory(:input, :configuration) .create(Array(file)) end
load_plugins(builder, options)
click to toggle source
# File lib/rggen/core/generator.rb, line 18 def load_plugins(builder, options) builder.load_plugins(options[:plugins], options[:no_default_plugins]) end
load_register_map(builder, files)
click to toggle source
# File lib/rggen/core/generator.rb, line 29 def load_register_map(builder, files) files.empty? && (raise Core::LoadError.new('no register map files are given')) @register_map = builder .build_factory(:input, :register_map) .create(configuration, files) end
write_files(builder, options)
click to toggle source
# File lib/rggen/core/generator.rb, line 38 def write_files(builder, options) options[:load_only] || file_writers(builder, options[:enable]) .each { |writer| writer.write_file(options[:output]) } end