Module: Philiprehberger::Assert
- Defined in:
- lib/philiprehberger/assert.rb,
lib/philiprehberger/assert/errors.rb,
lib/philiprehberger/assert/version.rb,
lib/philiprehberger/assert/assertion.rb
Defined Under Namespace
Classes: Assertion, AssertionError, MultipleFailures
Constant Summary collapse
- VERSION =
'0.4.0'
Class Method Summary collapse
-
.precondition(condition, message) ⇒ Object
Design by Contract precondition check.
-
.soft {|proc| ... } ⇒ Object
Collect assertion failures instead of raising immediately.
-
.that(value, message = nil) ⇒ Assertion
Create a chainable assertion for the given value.
Class Method Details
.precondition(condition, message) ⇒ Object
Design by Contract precondition check.
33 34 35 |
# File 'lib/philiprehberger/assert.rb', line 33 def self.precondition(condition, ) raise AssertionError, unless condition end |
.soft {|proc| ... } ⇒ Object
Collect assertion failures instead of raising immediately.
22 23 24 25 26 |
# File 'lib/philiprehberger/assert.rb', line 22 def self.soft failures = [] yield ->(value, = nil) { Assertion.new(value, message: , failures: failures) } raise MultipleFailures, failures unless failures.empty? end |