Class: Asciidoctor::TemplatesCompiler::ConverterGenerator
- Inherits:
-
Object
- Object
- Asciidoctor::TemplatesCompiler::ConverterGenerator
- Defined in:
- lib/asciidoctor/templates_compiler/converter_generator.rb
Overview
Source-code generator of Asciidoctor converter classes.
Class Method Summary collapse
-
.call ⇒ Object
An alias for ConverterGenerator.generate.
-
.generate(output: StringIO.new, **opts) ⇒ Object
The given output stream.
Instance Method Summary collapse
-
#generate(out = StringIO.new) ⇒ Object
(also: #call)
Generates source code of a converter class for Asciidoctor.
-
#initialize(class_name:, transforms_code:, helpers_code: nil, register_for: [], backend_info: {}, delegate_backend: nil, ignore_convert_opts: false) ⇒ ConverterGenerator
constructor
A new instance of ConverterGenerator.
Constructor Details
#initialize(class_name:, transforms_code:, helpers_code: nil, register_for: [], backend_info: {}, delegate_backend: nil, ignore_convert_opts: false) ⇒ ConverterGenerator
Returns a new instance of ConverterGenerator.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 48 def initialize(class_name:, transforms_code:, helpers_code: nil, register_for: [], backend_info: {}, delegate_backend: nil, ignore_convert_opts: false, **) @class_name = class_name @transforms_code = transforms_code @helpers_code = helpers_code @register_for = Array(register_for) @backend_info = backend_info @delegate_backend = delegate_backend @ignore_convert_opts = ignore_convert_opts if !helpers_code.blank? && helpers_code !~ /\bmodule Helpers[\s#]/ raise ArgumentError, 'The helpers_code does not contain module Helpers' end end |
Class Method Details
.call ⇒ Object
An alias for generate.
27 28 29 |
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 27 def generate(output: StringIO.new, **opts) new(**opts).call(output) end |
.generate(output: StringIO.new, **opts) ⇒ Object
Returns the given output stream.
22 23 24 |
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 22 def generate(output: StringIO.new, **opts) new(**opts).call(output) end |
Instance Method Details
#generate(out = StringIO.new) ⇒ Object Also known as: call
Generates source code of a converter class for Asciidoctor.
70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 70 def generate(out = StringIO.new) out << head_code << "\n" out << helpers_code << "\n" unless @helpers_code.blank? out << initialization_code << "\n" out << convert_method_code << "\n" out << handles_method_code << "\n" transform_methods_code(out) out << support_methods_code << "\n" out << tail_code out end |