Class: Asciidoctor::TemplatesCompiler::ConverterGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/asciidoctor/templates_compiler/converter_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(class_name:, transforms_code:, helpers_code: nil, register_for: [], backend_info: {}, delegate_backend: nil) ⇒ ConverterGenerator



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 19

def initialize(class_name:, transforms_code:, helpers_code: nil,
               register_for: [], backend_info: {}, delegate_backend: nil, **)
  @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

  if !helpers_code.blank? && helpers_code !~ /\bmodule Helpers[\s#]/
    raise ArgumentError, 'The helpers_code does not contain module Helpers'
  end
end

Class Method Details

.callObject



16
17
18
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 16

def generate(output: StringIO.new, **opts)
  new(**opts).call(output)
end

.generate(output: StringIO.new, **opts) ⇒ Object



12
13
14
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 12

def generate(output: StringIO.new, **opts)
  new(**opts).call(output)
end

Instance Method Details

#generate(out = StringIO.new) ⇒ Object Also known as: call



33
34
35
36
37
38
39
40
41
42
# File 'lib/asciidoctor/templates_compiler/converter_generator.rb', line 33

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"
  transform_methods_code(out)
  out << support_methods_code << "\n"
  out << tail_code
  out
end