Class: Gen
Overview
The generation module that contains things visible to tasks.
Class Method Summary collapse
- .add(source:, template: nil, template_name: nil, name: nil, executable: false, x: nil) ⇒ Object
- .add_task(task:, name: nil, executable: false, x: nil) ⇒ Object
- .add_write_content(name:, content:, executable: false) ⇒ Object
- .document ⇒ Object
- .load_config(name_prefix, extensions = [ '.*' ]) ⇒ Object
- .setup(document_content, input_name, output_directory, config_prefix) ⇒ Object
Instance Method Summary collapse
- #add(source:, template: nil, template_name: nil, name: nil, executable: false, x: nil) ⇒ Object
- #add_task(task:, name: nil, executable: false, x: nil) ⇒ Object
- #add_write_content(name:, content:, executable: false) ⇒ Object
- #setup(document_content, input_name, output_directory, config_prefix) ⇒ Object
Class Method Details
.add(source:, template: nil, template_name: nil, name: nil, executable: false, x: nil) ⇒ Object
108 109 110 |
# File 'lib/openapi/sourcetools/gen.rb', line 108 def self.add(source:, template: nil, template_name: nil, name: nil, executable: false, x: nil) Gen.instance.add(source:, template:, template_name:, name:, executable:, x:) end |
.add_task(task:, name: nil, executable: false, x: nil) ⇒ Object
91 92 93 |
# File 'lib/openapi/sourcetools/gen.rb', line 91 def self.add_task(task:, name: nil, executable: false, x: nil) Gen.instance.add_task(task:, name:, executable:, x:) end |
.add_write_content(name:, content:, executable: false) ⇒ Object
99 100 101 |
# File 'lib/openapi/sourcetools/gen.rb', line 99 def self.add_write_content(name:, content:, executable: false) Gen.instance.add_write_content(name:, content:, executable:) end |
.document ⇒ Object
112 113 114 115 116 117 118 119 120 |
# File 'lib/openapi/sourcetools/gen.rb', line 112 def self.document @docsrc.join("\n") + %( - add_task(task:, name: nil, executable: false, x: nil) : Adds task object. - add_write_content(name:, content:, executable: false) : Add file write task. - add(source:, template: nil, template_name: nil, name: nil, executable: false, x: nil) : Adds template task with source as object to process. ) end |
.load_config(name_prefix, extensions = [ '.*' ]) ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/openapi/sourcetools/gen.rb', line 59 def self.load_config(name_prefix, extensions = [ '.*' ]) cfg = {} cfgs = OpenAPISourceTools::ConfigLoader.find_files(name_prefix:, extensions:) cfgs = OpenAPISourceTools::ConfigLoader.read_contents(cfgs) cfgs.each { |c| cfg.deep_merge!(c) } cfg end |
.setup(document_content, input_name, output_directory, config_prefix) ⇒ Object
78 79 80 |
# File 'lib/openapi/sourcetools/gen.rb', line 78 def self.setup(document_content, input_name, output_directory, config_prefix) Gen.instance.setup(document_content, input_name, output_directory, config_prefix) end |
Instance Method Details
#add(source:, template: nil, template_name: nil, name: nil, executable: false, x: nil) ⇒ Object
103 104 105 106 |
# File 'lib/openapi/sourcetools/gen.rb', line 103 def add(source:, template: nil, template_name: nil, name: nil, executable: false, x: nil) add_task(task: OpenAPISourceTools::Task.new(source, template, template_name), name:, executable:, x:) end |
#add_task(task:, name: nil, executable: false, x: nil) ⇒ Object
82 83 84 85 86 87 88 89 |
# File 'lib/openapi/sourcetools/gen.rb', line 82 def add_task(task:, name: nil, executable: false, x: nil) @tasks.push(task) # Since this method allows the user to pass their own task type instance, # assign optional values with defaults only when clearly given. @tasks.last.name = name unless name.nil? @tasks.last.executable = executable unless executable == false @tasks.last.x = x unless x.nil? end |
#add_write_content(name:, content:, executable: false) ⇒ Object
95 96 97 |
# File 'lib/openapi/sourcetools/gen.rb', line 95 def add_write_content(name:, content:, executable: false) add_task(task: OpenAPISourceTools::WriteTask.new(name, content, executable)) end |
#setup(document_content, input_name, output_directory, config_prefix) ⇒ Object
67 68 69 70 71 72 73 74 75 76 |
# File 'lib/openapi/sourcetools/gen.rb', line 67 def setup(document_content, input_name, output_directory, config_prefix) @doc = document_content @outdir = output_directory unless input_name.nil? @in_name = File.basename(input_name) @in_basename = File.basename(input_name, '.*') end @configuration = Gen.load_config(config_prefix) add_task(task: OpenAPISourceTools::HelperTask.new) end |