Class: TestBench::Session::Substitute::Sink
- Inherits:
-
Object
- Object
- TestBench::Session::Substitute::Sink
- Includes:
- Telemetry::Sink
- Defined in:
- lib/test_bench/session/substitute/sink.rb
Defined Under Namespace
Classes: Record
Instance Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
- #any_event?(event_class, *titles, **attributes) ⇒ Boolean (also: #event?)
- #event_sink(*titles) ⇒ Object
- #events(event_class, *titles, **attributes) ⇒ Object
- #one_event(event_class, *titles, **attributes) ⇒ Object
- #one_event?(event_class, *titles, **attributes) ⇒ Boolean
- #receive(event_data) ⇒ Object
- #received?(event_data = nil) ⇒ Boolean
Instance Attribute Details
#records ⇒ Object
12 13 14 |
# File 'lib/test_bench/session/substitute/sink.rb', line 12 def records @records ||= [] end |
#trace ⇒ Object
7 8 9 |
# File 'lib/test_bench/session/substitute/sink.rb', line 7 def trace @trace ||= Trace.new end |
Class Method Details
.build(trace = nil) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/test_bench/session/substitute/sink.rb', line 17 def self.build(trace=nil) instance = new if not trace.nil? instance.trace = trace end instance end |
Instance Method Details
#any_event?(event_class, *titles, **attributes) ⇒ Boolean Also known as: event?
60 61 62 63 |
# File 'lib/test_bench/session/substitute/sink.rb', line 60 def any_event?(event_class, *titles, **attributes) event_sink = event_sink(*titles) event_sink.any_event?(event_class, **attributes) end |
#event_sink(*titles) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/test_bench/session/substitute/sink.rb', line 71 def event_sink(*titles) event_sink = Telemetry::Substitute::Sink.new records.each do |record| if record.match?(titles) event_data = record.event_data event_sink.receive(event_data) end end event_sink end |
#events(event_class, *titles, **attributes) ⇒ Object
66 67 68 69 |
# File 'lib/test_bench/session/substitute/sink.rb', line 66 def events(event_class, *titles, **attributes) event_sink = event_sink(*titles) event_sink.events(event_class, **attributes) end |
#one_event(event_class, *titles, **attributes) ⇒ Object
55 56 57 58 |
# File 'lib/test_bench/session/substitute/sink.rb', line 55 def one_event(event_class, *titles, **attributes) event_sink = event_sink(*titles) event_sink.one_event(event_class, **attributes) end |
#one_event?(event_class, *titles, **attributes) ⇒ Boolean
50 51 52 53 |
# File 'lib/test_bench/session/substitute/sink.rb', line 50 def one_event?(event_class, *titles, **attributes) event_sink = event_sink(*titles) event_sink.one_event?(event_class, **attributes) end |
#receive(event_data) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/test_bench/session/substitute/sink.rb', line 27 def receive(event_data) trace_copy = Trace.new trace.each do |entry| trace_copy.push(entry) end record = Record.new(event_data, trace_copy) records.push(record) record end |
#received?(event_data = nil) ⇒ Boolean
40 41 42 43 44 45 46 47 48 |
# File 'lib/test_bench/session/substitute/sink.rb', line 40 def received?(event_data=nil) if not event_data.nil? records.any? do |record| record.event_data == event_data end else records.any? end end |