class Grape::Exceptions::ValidationErrors

def as_json(**_opts)

def as_json(**_opts)
  errors.map do |k, v|
    {
      params: k,
      messages: v.map(&:to_s)
    }
  end
end

def each

def each
  errors.each_pair do |attribute, errors|
    errors.each do |error|
      yield attribute, error
    end
  end
end

def full_messages

def full_messages
  messages = map do |attributes, error|
    I18n.t(
      ERRORS_FORMAT_KEY,
      default: DEFAULT_ERRORS_FORMAT,
      attributes: translate_attributes(attributes),
      message: error.message
    )
  end
  messages.uniq!
  messages
end

def initialize(errors: [], headers: {})

def initialize(errors: [], headers: {})
  @errors = errors.group_by(&:params)
  super(message: full_messages.join(', '), status: 400, headers: headers)
end

def to_json(*_opts)

def to_json(*_opts)
  as_json.to_json
end