Class: Kitsune::Kit::Adapters::FakeReporter

Inherits:
Reporters::Reporter show all
Defined in:
lib/kitsune/kit/adapters/fake_reporter.rb

Overview

Deterministic event sink for exercising complete workflows without a terminal.

Instance Method Summary collapse

Constructor Details

#initializeFakeReporter

Returns a new instance of FakeReporter.



10
11
12
13
14
# File 'lib/kitsune/kit/adapters/fake_reporter.rb', line 10

def initialize
  super
  @events = []
  @mutex = Mutex.new
end

Instance Method Details

#clearObject



27
28
29
30
# File 'lib/kitsune/kit/adapters/fake_reporter.rb', line 27

def clear
  @mutex.synchronize { @events.clear }
  self
end

#eventsObject



21
# File 'lib/kitsune/kit/adapters/fake_reporter.rb', line 21

def events = @mutex.synchronize { @events.dup }

#events_of(type) ⇒ Object



23
24
25
# File 'lib/kitsune/kit/adapters/fake_reporter.rb', line 23

def events_of(type)
  @mutex.synchronize { @events.select { |event| event.type == type.to_s } }
end

#handle(event) ⇒ Object



16
17
18
19
# File 'lib/kitsune/kit/adapters/fake_reporter.rb', line 16

def handle(event)
  @mutex.synchronize { @events << event }
  event
end