Module: Crspec::FailureAggregator
- Defined in:
- lib/crspec/expectations.rb
Overview
Fiber-local failure accumulator backing aggregate_failures.
Constant Summary collapse
- STORAGE_KEY =
:crspec_failure_aggregator
Class Method Summary collapse
Class Method Details
.active? ⇒ Boolean
22 23 24 |
# File 'lib/crspec/expectations.rb', line 22 def self.active? !Fiber[STORAGE_KEY].nil? end |
.aggregate ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/crspec/expectations.rb', line 30 def self.aggregate previous = Fiber[STORAGE_KEY] Fiber[STORAGE_KEY] = [] begin yield failures = Fiber[STORAGE_KEY] raise MultipleExpectationsNotMetError, failures if failures.size > 1 raise ExpectationNotMetError, failures.first if failures.size == 1 ensure Fiber[STORAGE_KEY] = previous end end |
.record(message) ⇒ Object
26 27 28 |
# File 'lib/crspec/expectations.rb', line 26 def self.record() Fiber[STORAGE_KEY] << end |