Exception: BugBunny::UnprocessableEntity

Inherits:
ClientError show all
Defined in:
lib/bug_bunny/exception.rb

Overview

Error 422: Unprocessable Entity. Indica que la solicitud fue bien formada pero contenía errores semánticos, típicamente fallos de validación en el modelo remoto (ActiveRecord).

Esta excepción es “inteligente”: intenta parsear automáticamente el cuerpo de la respuesta para extraer y exponer los mensajes de error de forma estructurada, buscando por convención la clave ‘errors`.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response_body) ⇒ UnprocessableEntity

Inicializa la excepción procesando el cuerpo de la respuesta.

Parameters:

  • response_body (String, Hash)

    El cuerpo de la respuesta fallida (ej. ‘{ “errors”: { “name”: [“blank”] } }`).



123
124
125
126
127
# File 'lib/bug_bunny/exception.rb', line 123

def initialize(response_body)
  @raw_response = response_body
  @error_messages = extract_errors(response_body)
  super('Validation failed on remote service')
end

Instance Attribute Details

#error_messagesHash, ... (readonly)

Returns Los mensajes de error listos para ser iterados.

Returns:

  • (Hash, Array, String)

    Los mensajes de error listos para ser iterados.



115
116
117
# File 'lib/bug_bunny/exception.rb', line 115

def error_messages
  @error_messages
end

#raw_responseString, Hash (readonly)

Returns El cuerpo crudo de la respuesta original.

Returns:

  • (String, Hash)

    El cuerpo crudo de la respuesta original.



118
119
120
# File 'lib/bug_bunny/exception.rb', line 118

def raw_response
  @raw_response
end