Class: WhyChain::Explainer::TeachingFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/why_chain/explainer/teaching_formatter.rb

Overview

Verbose didactic explanation format.

Instance Method Summary collapse

Constructor Details

#initialize(method_name, steps, graph, colorizer) ⇒ TeachingFormatter

Returns a new instance of TeachingFormatter.



7
8
9
10
11
12
# File 'lib/why_chain/explainer/teaching_formatter.rb', line 7

def initialize(method_name, steps, graph, colorizer)
  @method_name = method_name
  @steps = steps
  @graph = graph
  @colorizer = colorizer
end

Instance Method Details

#renderObject



14
15
16
17
18
19
20
21
22
# File 'lib/why_chain/explainer/teaching_formatter.rb', line 14

def render
  lines = [@colorizer.colorize("Ruby dispatch explanation for :#{@method_name}", :title), ""]

  @steps.each_with_index do |step, index|
    lines.concat(step_lines(step, index))
  end

  lines.join("\n")
end