Module: Asrt::Fallible

Defined in:
lib/asrt.rb

Instance Method Summary collapse

Instance Method Details

#asrt(*args, &block) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/asrt.rb', line 6

def asrt(*args, &block)
  if block.nil?
    condition, message, garbage = args

    okay = (condition == true)
  else
    message, garbage = args

    okay = (yield rescue false) == true
  end

  raise ArgumentError, 'wrong number of arguments.' unless garbage.nil?

  raise AssertionError, message unless okay
end