Class: SleepingKingStudios::Tools::Assertions::Aggregator
- Inherits:
-
Assertions
- Object
- Assertions
- SleepingKingStudios::Tools::Assertions::Aggregator
- Extended by:
- Forwardable
- Defined in:
- lib/sleeping_king_studios/tools/assertions/aggregator.rb
Overview
Utility for grouping multiple assertion statements.
Instance Method Summary collapse
-
#<<(message) ⇒ Array
Appends the message to the failure messages.
-
#assert_group(error_class: AssertionError, message: nil) {|aggregator| ... } ⇒ void
(also: #aggregate)
Evaluates a series of assertions and combines all failures.
-
#clear ⇒ Array
Removes all items from the failure messages.
-
#count ⇒ Integer
Returns a count of the failure message.
-
#each ⇒ Object
Iterates over the failure messages.
-
#empty? ⇒ true, false
Checks if there are any failure messages.
-
#failure_message ⇒ String
Generates a combined failure message from the configured messages.
-
#initialize ⇒ Aggregator
constructor
A new instance of Aggregator.
-
#size ⇒ Integer
Returns a count of the failure message.
Constructor Details
#initialize ⇒ Aggregator
Returns a new instance of Aggregator.
23 24 25 26 27 |
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 23 def initialize super @failures = [] end |
Instance Method Details
#<<(message) ⇒ Array
Appends the message to the failure messages.
|
|
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 29
|
#assert_group(error_class: AssertionError, message: nil) {|aggregator| ... } ⇒ void Also known as: aggregate
This method returns an undefined value.
Evaluates a series of assertions and combines all failures.
92 93 94 95 96 97 98 |
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 92 def assert_group(error_class: AssertionError, message: nil, &assertions) return super if raise ArgumentError, 'no block given' unless block_given? assertions.call(self) end |
#clear ⇒ Array
Removes all items from the failure messages.
|
|
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 38
|
#count ⇒ Integer
Returns a count of the failure message.
|
|
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 45
|
#each ⇒ Enumerator #each {|message| ... } ⇒ Object
Iterates over the failure messages.
|
|
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 52
|
#empty? ⇒ true, false
Checks if there are any failure messages.
|
|
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 69
|
#failure_message ⇒ String
Generates a combined failure message from the configured messages.
118 119 120 |
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 118 def failures.join(', ') end |
#size ⇒ Integer
Returns a count of the failure message.
83 84 85 86 87 88 89 |
# File 'lib/sleeping_king_studios/tools/assertions/aggregator.rb', line 83 def_delegators :@failures, :<<, :clear, :count, :each, :empty?, :size |