Class: JsonErrors::Error

Inherits:
Object
  • Object
show all
Defined in:
lib/json_errors/error.rb

Overview

Error facade

Class Method Summary collapse

Class Method Details

.codesObject



22
23
24
# File 'lib/json_errors/error.rb', line 22

def self.codes
  JsonErrors.config.custom_codes
end

.method_missing(name, *args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/json_errors/error.rb', line 6

def self.method_missing(name, *args)
  error = args.first
  payload = args.second
  message = error.message

  return super unless name.in?(codes.keys)
  return ValidationError.new(message, name, error&.record) if codes[name][:validation_errors] == :active_record
  return BasicError.new(message, name) if payload.nil?

  CustomPayloadError.new(message, name, payload)
end

.respond_to_missing?(name, _respond_to_private = false) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/json_errors/error.rb', line 18

def self.respond_to_missing?(name, _respond_to_private = false)
  name.in?(codes.keys) || super
end