class Grape::Exceptions::ValidationErrors

Attributes

errors[R]

Public Class Methods

new(args = {}) click to toggle source
Calls superclass method Grape::Exceptions::Base::new
# File lib/grape/exceptions/validation_errors.rb, line 10
def initialize(args = {})
  @errors = {}
  args[:errors].each do |validation_error|
    @errors[validation_error.param] ||= []
    @errors[validation_error.param] << validation_error
  end
  super message: full_messages.join(', '), status: 400
end

Public Instance Methods

each() { |attribute, error| ... } click to toggle source
# File lib/grape/exceptions/validation_errors.rb, line 19
def each
  errors.each_pair do |attribute, errors|
    errors.each do |error|
      yield attribute, error
    end
  end
end

Private Instance Methods

full_message(attribute, error) click to toggle source
# File lib/grape/exceptions/validation_errors.rb, line 33
def full_message(attribute, error)
  I18n.t(
    "grape.errors.format".to_sym,
    default: "%{attribute} %{message}",
    attribute: translate_attribute(attribute),
    message: error.message
  )
end
full_messages() click to toggle source
# File lib/grape/exceptions/validation_errors.rb, line 29
def full_messages
  map { |attribute, error| full_message(attribute, error) }.uniq
end