Class: SleepingKingStudios::Tools::Assertions::Aggregator
- Inherits:
-
SleepingKingStudios::Tools::Assertions
- Object
- Base
- SleepingKingStudios::Tools::Assertions
- SleepingKingStudios::Tools::Assertions::Aggregator
- Extended by:
- Forwardable
- Defined in:
- lib/sleeping_king_studios/tools/assertions.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.
Methods inherited from SleepingKingStudios::Tools::Assertions
#aggregator_class, #assert, #assert_blank, #assert_boolean, #assert_class, #assert_instance_of, #assert_matches, #assert_name, #assert_nil, #assert_not_nil, #assert_presence, #error_message_for, #validate, #validate_blank, #validate_boolean, #validate_class, #validate_group, #validate_instance_of, #validate_matches, #validate_name, #validate_nil, #validate_not_nil, #validate_presence
Methods inherited from Base
Constructor Details
#initialize ⇒ Aggregator
Returns a new instance of Aggregator.
63 64 65 66 67 |
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 63 def initialize super @failures = [] end |
Instance Method Details
#<<(message) ⇒ Array
Appends the message to the failure messages.
|
|
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 69
|
#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.
132 133 134 135 136 137 138 |
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 132 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.rb', line 78
|
#count ⇒ Integer
Returns a count of the failure message.
|
|
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 85
|
#each ⇒ Enumerator #each {|message| ... } ⇒ Object
Iterates over the failure messages.
|
|
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 92
|
#empty? ⇒ true, false
Checks if there are any failure messages.
|
|
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 109
|
#failure_message ⇒ String
Generates a combined failure message from the configured messages.
158 159 160 |
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 158 def failures.join(', ') end |
#size ⇒ Integer
Returns a count of the failure message.
123 124 125 126 127 128 129 |
# File 'lib/sleeping_king_studios/tools/assertions.rb', line 123 def_delegators :@failures, :<<, :clear, :count, :each, :empty?, :size |