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

[View source]

20
21
22
# File 'lib/json_errors/error.rb', line 20

def self.codes
  JsonErrors.config.custom_codes
end

.method_missing(name, *args) ⇒ Object

[View source]

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

def self.method_missing(name, *args)
  message, payload = args
  return super unless name.in?(codes.keys)

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

  CustomPayloadError.new(message, name, payload)
end

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

Returns:

  • (Boolean)
[View source]

16
17
18
# File 'lib/json_errors/error.rb', line 16

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