Class: RShade::Trace

Inherits:
Object show all
Defined in:
lib/rshade/trace.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config: ::RShade::Config::Registry.instance.default_trace_config) ⇒ Trace

Returns a new instance of Trace.

Parameters:



8
9
10
11
# File 'lib/rshade/trace.rb', line 8

def initialize(config: ::RShade::Config::Registry.instance.default_trace_config)
  @config = config
  @event_store = EventTree.new
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



5
6
7
# File 'lib/rshade/trace.rb', line 5

def config
  @config
end

#event_storeObject (readonly)

Returns the value of attribute event_store.



5
6
7
# File 'lib/rshade/trace.rb', line 5

def event_store
  @event_store
end

Class Method Details

.reveal(config: ::RShade::Config::Registry.instance.default_trace_config, &block) ⇒ Object



13
14
15
# File 'lib/rshade/trace.rb', line 13

def self.reveal(config: ::RShade::Config::Registry.instance.default_trace_config, &block)
  new(config: config).reveal(&block)
end

Instance Method Details

#reveal(&block) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/rshade/trace.rb', line 17

def reveal(&block)
  processor = EventProcessor.new(event_store, config)
  observer = EventObserver.new(config, processor)
  observable = RShade::TraceObservable.new([observer], config)
  observable.reveal(&block)
  self
end

#showObject



25
26
27
# File 'lib/rshade/trace.rb', line 25

def show
  config.formatter.call(event_store)
end