class OpenapiFirst::RequestInvalidError

Public Class Methods

new(serialized_errors) click to toggle source
Calls superclass method
# File lib/openapi_first.rb, line 94
def initialize(serialized_errors)
  message = error_message(serialized_errors)
  super message
end

Private Instance Methods

error_message(errors) click to toggle source
# File lib/openapi_first.rb, line 101
def error_message(errors)
  errors.map do |error|
    [human_source(error), human_error(error)].compact.join(' ')
  end.join(', ')
end
human_error(error) click to toggle source
# File lib/openapi_first.rb, line 120
def human_error(error)
  error[:title]
end
human_source(error) click to toggle source
# File lib/openapi_first.rb, line 107
def human_source(error)
  return unless error[:source]

  source_key = error[:source].keys.first
  source = {
    pointer: 'Request body invalid:',
    parameter: 'Query parameter invalid:'
  }.fetch(source_key, source_key)
  name = error[:source].values.first
  source += " #{name}" unless name.nil? || name.empty?
  source
end