Class: Asciidoctor::Question::Extensions::BaseProcessor

Inherits:
Extensions::BlockProcessor
  • Object
show all
Defined in:
lib/asciidoctor-question/extensions.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.inherited(subclass) ⇒ Object



12
13
14
15
# File 'lib/asciidoctor-question/extensions.rb', line 12

def self.inherited(subclass)
  subclass.option :contexts, [:example, :literal, :open]
  subclass.option :content_model, :simple
end

Instance Method Details

#post_answers(parent, tag) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/asciidoctor-question/extensions.rb', line 28

def post_answers(parent, tag)
  id = tag[:id]
  parent.blocks.push Asciidoctor::Block.new parent, :pass, :source => "
    <p style=\"margin-bottom: 25px\">
      <button onclick='resolve(#{id})'>resolve</button>
      <button onclick='reset(#{id})'>reset</button>
    </p>"
  parent
end

#process_error(parent, err, source_lines) ⇒ Object



17
18
19
20
21
22
# File 'lib/asciidoctor-question/extensions.rb', line 17

def process_error(parent, err, source_lines)
  lines = ['[NOTE]', '====', 'Fehler! ' + err, '====']
  block = Asciidoctor::Parser.next_block Asciidoctor::Reader.new(lines), parent
  block.blocks.push Asciidoctor::Parser.next_block Asciidoctor::Reader.new(['[source, asciidoc]', '----'] + source_lines + ['----']), block
  block
end

#process_error_push(parent, err, source_lines) ⇒ Object



24
25
26
# File 'lib/asciidoctor-question/extensions.rb', line 24

def process_error_push(parent, err, source_lines)
  parent.blocks.push process_error parent, err, source_lines
end