class Flows::Plugin::OutputContract::StatusError

Raised when no contract found for result

Public Class Methods

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

Public Instance Methods

message() click to toggle source
# File lib/flows/plugin/output_contract/errors.rb, line 45
def message
  allowed_statuses_str = @allowed_statuses.map { |st| "`#{st.inspect}`" }.join(', ')

  "Output contract for #{@klass} is violated.\n" \
  "Result:\n" \
  "  `#{@result.inspect}`\n" \
  "Contract Error:\n" \
  "  has unexpected status `#{@result.status.inspect}`\n" \
  "  allowed statuses for `#{@result.class}` are: #{allowed_statuses_str}"
end