class Flows::Plugin::OutputContract::ContractError

Raised when result's data violates contract

Public Class Methods

new(klass, result, error) click to toggle source
# File lib/flows/plugin/output_contract/errors.rb, line 20
def initialize(klass, result, error)
  @klass = klass
  @result = result
  @error = error
end

Public Instance Methods

message() click to toggle source
# File lib/flows/plugin/output_contract/errors.rb, line 26
def message
  shifted_error = @error.split("\n").map { |str| "  #{str}" }.join("\n")

  "Output contract for #{@klass} is violated.\n" \
  "Result:\n" \
  "  `#{@result.inspect}`\n" \
  "Contract Error:\n" \
  "#{shifted_error}"
end