Module: SolidAssert::Assert

Defined in:
lib/solid_assert/assert.rb

Instance Method Summary collapse

Instance Method Details

#assert(condition, message = nil) ⇒ Object

Expresses a condition and fails if the condition is not satisfied

Usage

assert false
assert not_nil_object
assert !list.empty?, "The list should not be empty at this point"

Parameters:

  • condition

    The condition to assert

  • message (defaults to: nil)

    The optional message when the condition is not satisfied

Raises:



14
15
16
# File 'lib/solid_assert/assert.rb', line 14

def assert(condition, message=nil)
  raise SolidAssert::AssertionFailedError.new(message) if !condition
end

#invariant(message = nil) { ... } ⇒ Object

Let you #assert a block of code. It comes handy when your assertion requires more than one lines of code Usage:

invariant do
  some_number = 1
  other_number = 2
  some_number == other_number
end

invariant "Both numbers should be equal" do
  some_number = 1
  other_number = 2
  some_number == other_number
end

Parameters:

  • message (defaults to: nil)

    The optional message when the block doesn’t evaluates to a satisfied condition

Yields:

  • The block that will be evaluated for deciding whether the condition is satisfied



33
34
35
# File 'lib/solid_assert/assert.rb', line 33

def invariant(message=nil)
  assert yield, message
end