Class: Kitsune::Kit::Adapters::FakeReporter
- Inherits:
-
Reporters::Reporter
- Object
- Reporters::Reporter
- Kitsune::Kit::Adapters::FakeReporter
- Defined in:
- lib/kitsune/kit/adapters/fake_reporter.rb
Overview
Deterministic event sink for exercising complete workflows without a terminal.
Instance Method Summary collapse
- #clear ⇒ Object
- #events ⇒ Object
- #events_of(type) ⇒ Object
- #handle(event) ⇒ Object
-
#initialize ⇒ FakeReporter
constructor
A new instance of FakeReporter.
Constructor Details
#initialize ⇒ FakeReporter
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
#clear ⇒ Object
27 28 29 30 |
# File 'lib/kitsune/kit/adapters/fake_reporter.rb', line 27 def clear @mutex.synchronize { @events.clear } self end |
#events ⇒ Object
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 |