class JsonErrors::ValidationError

Error class for custom payload errors

Attributes

record[R]

Public Class Methods

new(msg, name, record) click to toggle source
Calls superclass method JsonErrors::BasicError::new
# File lib/json_errors/error/validation_error.rb, line 6
def initialize(msg, name, record)
  super(msg, name)
  raise 'Wrong record' unless record.respond_to?(:errors)

  @record = record
end

Public Instance Methods

to_json(_options = nil) click to toggle source
# File lib/json_errors/error/validation_error.rb, line 13
def to_json(_options = nil)
  {
    code: code,
    message: message,
    payload: payload
  }.to_json
end

Private Instance Methods

payload() click to toggle source
# File lib/json_errors/error/validation_error.rb, line 25
def payload
  validation_payload = []
  record.errors.each do |key, messages|
    validation_payload << { key => messages }
  end

  { record.class.to_s => validation_payload }
end