Module: WhyChain

Defined in:
lib/why_chain.rb,
lib/why_chain/tracer.rb,
lib/why_chain/version.rb,
lib/why_chain/explainer.rb,
lib/why_chain/dispatch_step.rb,
lib/why_chain/dispatch_trace.rb,
lib/why_chain/method_locator.rb,
lib/why_chain/method_definition.rb,
lib/why_chain/explainer/colorizer.rb,
lib/why_chain/explainer/compact_formatter.rb,
lib/why_chain/explainer/teaching_formatter.rb

Overview

Entry point for WhyChain runtime dispatch introspection.

Defined Under Namespace

Modules: MethodDefinition Classes: DispatchStep, DispatchTrace, Error, Explainer, MethodLocator, Tracer

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.explain(object, method_name, style: :teaching, color: :auto, graph: true) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/why_chain.rb', line 19

def self.explain(object, method_name, style: :teaching, color: :auto, graph: true)
  Explainer.new(
    trace(object, method_name),
    method_name,
    style: style,
    color: color,
    graph: graph
  ).to_s
end

.trace(object, method_name) ⇒ Object



15
16
17
# File 'lib/why_chain.rb', line 15

def self.trace(object, method_name)
  Tracer.new(object, method_name).trace
end