Method: Contract.failure_callback

Defined in:
lib/contracts.rb

.failure_callback(data, use_pattern_matching = true) ⇒ Object

Callback for when a contract fails. By default it raises an error and prints detailed info about the contract that failed. You can also monkeypatch this callback to do whatever you want…log the error, send you an email, print an error message, etc.

Example of monkeypatching:

def Contract.failure_callback(data)
  puts "You had an error!"
  puts failure_msg(data)
  exit
end


179
180
181
182
183
184
185
# File 'lib/contracts.rb', line 179

def self.failure_callback(data, use_pattern_matching = true)
  if data[:contracts].pattern_match? && use_pattern_matching
    return DEFAULT_FAILURE_CALLBACK.call(data)
  end

  fetch_failure_callback.call(data)
end