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/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.
Methods inherited from SleepingKingStudios::Tools::Assertions
#aggregator_class, #assert, #assert_blank, #assert_boolean, #assert_class, #assert_exclusion, #assert_inclusion, #assert_inherits_from, #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_exclusion, #validate_group, #validate_inclusion, #validate_inherits_from, #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.
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 |