Class: LivingDocument::DocumentEvaluator
- Inherits:
-
Object
- Object
- LivingDocument::DocumentEvaluator
- Defined in:
- lib/living_document/document_evaluator.rb
Instance Method Summary collapse
- #evaluated_document ⇒ Object
-
#initialize(document:) ⇒ DocumentEvaluator
constructor
A new instance of DocumentEvaluator.
- #markdown? ⇒ Boolean
Constructor Details
#initialize(document:) ⇒ DocumentEvaluator
Returns a new instance of DocumentEvaluator.
4 5 6 |
# File 'lib/living_document/document_evaluator.rb', line 4 def initialize(document:) @document = document.dup end |
Instance Method Details
#evaluated_document ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/living_document/document_evaluator.rb', line 8 def evaluated_document if markdown? markdown_codeblocks.each do |markdown_codeblock| opening, *ruby_code_lines, closing = markdown_codeblock.split("\n") ruby_code = ruby_code_lines.join("\n") evaluated_ruby_code = LivingDocument::CodeEvaluator.new( code: ruby_code, ).evaluated_code @document[markdown_codeblock] = <<~EVALUATED_CODEBLOCK.rstrip #{opening} #{evaluated_ruby_code} #{closing} EVALUATED_CODEBLOCK end @document else LivingDocument::CodeEvaluator.new( code: @document, ).evaluated_code end end |
#markdown? ⇒ Boolean
32 33 34 |
# File 'lib/living_document/document_evaluator.rb', line 32 def markdown? !markdown_codeblocks.empty? end |