Class: TraceViz::Renderers::RendererFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/trace_viz/renderers/renderer_factory.rb

Constant Summary collapse

RENDERERS =
{
  verbose: VerboseRenderer,
  summary: SummaryRenderer,
  sequence_diagram: Diagram::SequenceRenderer,
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(collector, context) ⇒ RendererFactory

Returns a new instance of RendererFactory.



16
17
18
19
# File 'lib/trace_viz/renderers/renderer_factory.rb', line 16

def initialize(collector, context)
  @collector = collector
  @context = context
end

Instance Method Details

#build(key) ⇒ Object

Raises:

  • (ArgumentError)


21
22
23
24
25
26
# File 'lib/trace_viz/renderers/renderer_factory.rb', line 21

def build(key)
  renderer_class = RENDERERS[key]
  raise ArgumentError, "Invalid renderer key: #{key}" unless renderer_class

  renderer_class.new(@collector, @context)
end