hummingbird-me/kitsu-server

View on GitHub
app/graphql/concerns/rescue_validation_errors.rb

Summary

Maintainability
A
0 mins
Test Coverage
F
57%
module RescueValidationErrors
  extend ActiveSupport::Concern

  def resolve(*args, **kwargs)
    super
  rescue ActiveRecord::RecordInvalid => e
    errors = e.record.errors.map do |attribute, message|
      {
        code: 'ValidationError',
        message: e.record.errors.full_message(attribute, message),
        path: ['attributes', attribute.to_s.camelize(:lower)]
      }
    end

    { errors: errors }
  end
end