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.



284
285
286
287
# File 'lib/jsonapi/exceptions.rb', line 284

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

Instance Attribute Details

#messagesObject

Returns the value of attribute messages.



283
284
285
# File 'lib/jsonapi/exceptions.rb', line 283

def messages
  @messages
end

Instance Method Details

#errorsObject



293
294
295
296
297
298
299
300
301
302
303
304
305
# File 'lib/jsonapi/exceptions.rb', line 293

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



289
290
291
# File 'lib/jsonapi/exceptions.rb', line 289

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