Exception: JSONAPI::Exceptions::ValidationErrors

Inherits:
Error
  • Object
show all
Defined in:
lib/jsonapi/exceptions.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(messages) ⇒ ValidationErrors

Returns a new instance of ValidationErrors.



298
299
300
301
# File 'lib/jsonapi/exceptions.rb', line 298

def initialize(messages)
  @messages = messages
  @key_formatter = JSONAPI.configuration.key_formatter
end

Instance Attribute Details

#messagesObject

Returns the value of attribute messages.



297
298
299
# File 'lib/jsonapi/exceptions.rb', line 297

def messages
  @messages
end

Instance Method Details

#errorsObject



307
308
309
310
311
312
313
314
315
316
317
318
319
# File 'lib/jsonapi/exceptions.rb', line 307

def errors
  messages.inject([]) do |arr, element|
    arr.concat(
      element[1].map do |message|
        JSONAPI::Error.new(code: JSONAPI::VALIDATION_ERROR,
                           status: :unprocessable_entity,
                           title: "#{format_key(element[0])} - #{message}",
                           detail: message,
                           path: "/#{element[0]}")
      end
    )
  end
end

#format_key(key) ⇒ Object



303
304
305
# File 'lib/jsonapi/exceptions.rb', line 303

def format_key(key)
  @key_formatter.format(key)
end