Module: Omnitest::Skeptic::Spies
- Defined in:
- lib/omnitest/skeptic/spies.rb
Class Attribute Summary collapse
-
.spies ⇒ Object
readonly
Returns the value of attribute spies.
Class Method Summary collapse
- .middleware ⇒ Object
- .observe(scenario, &blk) ⇒ Object
- .register_spy(spy) ⇒ Object
- .reports ⇒ Object
Class Attribute Details
.spies ⇒ Object (readonly)
Returns the value of attribute spies.
7 8 9 |
# File 'lib/omnitest/skeptic/spies.rb', line 7 def spies @spies end |
Class Method Details
.middleware ⇒ Object
9 10 11 |
# File 'lib/omnitest/skeptic/spies.rb', line 9 def middleware @middleware ||= Middleware::Builder.new end |
.observe(scenario, &blk) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/omnitest/skeptic/spies.rb', line 22 def observe(scenario, &blk) middleware = Middleware::Builder.new spies.each do |spy| middleware.use spy, Thread.current[:test_env_number] end middleware.use blk middleware.call(scenario) end |
.register_spy(spy) ⇒ Object
17 18 19 20 |
# File 'lib/omnitest/skeptic/spies.rb', line 17 def register_spy(spy) spies.add(spy) middleware.insert 0, spy, {} end |
.reports ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/omnitest/skeptic/spies.rb', line 31 def reports # Group by type all_reports = spies.flat_map do |spy| spy.reports.to_a if spy.respond_to? :reports end all_reports.each_with_object({}) do |(k, v), h| (h[k] ||= []) << v end end |