class Graphiti::Rails::InvalidRequestHandler
Public Instance Methods
build_payload(show_details: false, traces: nil, style: nil)
click to toggle source
Mostly copied from GraphitiErrors could use some cleanup NOTE: That `style` is ignored
# File lib/graphiti/rails/exception_handlers.rb, line 61 def build_payload(show_details: false, traces: nil, style: nil) errors = exception.errors errors_payload = [] errors.details.each_pair do |attribute, att_errors| att_errors.each_with_index do |error, idx| code = error[:error] message = errors.messages[attribute][idx] errors_payload << { code: "bad_request", status: "400", title: "Request Error", detail: errors.full_message(attribute, message), source: { pointer: attribute.to_s.tr(".", "/").gsub(/\[(\d+)\]/, '/\1'), }, meta: { attribute: attribute, message: message, code: code, }, } end end { errors: errors_payload } end