class Apia::ManifestError

Public Class Methods

new(errors) click to toggle source
# File lib/apia/errors/manifest_error.rb, line 8
def initialize(errors)
  @errors = errors
end

Public Instance Methods

detail() click to toggle source
# File lib/apia/errors/manifest_error.rb, line 24
def detail
  @errors.errors.map do |object, errors|
    {
      object: object.id,
      errors: errors.map do |error|
        {
          code: error[:code],
          description: error[:message]
        }
      end
    }
  end
end
errors() click to toggle source
# File lib/apia/errors/manifest_error.rb, line 16
def errors
  @errors.errors.each_with_object([]) do |(object, errors), array|
    errors.each do |error|
      array << "#{object.id}: #{error[:code]} (#{error[:message]})"
    end
  end.join(', ')
end
to_s() click to toggle source
# File lib/apia/errors/manifest_error.rb, line 12
def to_s
  "#{@errors.errors.size} object(s) have issues that need attention (#{errors})"
end
triplet() click to toggle source
# File lib/apia/errors/manifest_error.rb, line 38
def triplet
  Rack.error_triplet('manifest_error', description: 'An issue exists with the API manifest that needs resolving by the developer.', detail: detail)
end