Class: BugBunny::Middleware::Base Abstract
- Inherits:
-
Object
- Object
- BugBunny::Middleware::Base
- Defined in:
- lib/bug_bunny/middleware/base.rb
Overview
Subclase y anula #on_request o #on_complete para inyectar lógica.
Clase base para todos los middlewares de BugBunny.
Implementa el patrón “Template Method” para estandarizar el flujo de ejecución de la cadena de responsabilidades (Ida y Vuelta).
Las subclases deben implementar:
-
#on_request para modificar la petición antes de enviarla.
-
#on_complete para modificar la respuesta después de recibirla.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
El siguiente middleware en la pila o el adaptador final.
Instance Method Summary collapse
-
#call(env) ⇒ Hash
Ejecuta el middleware orquestando los hooks de ciclo de vida.
-
#initialize(app) ⇒ Base
constructor
Inicializa el middleware.
Constructor Details
#initialize(app) ⇒ Base
Inicializa el middleware.
23 24 25 |
# File 'lib/bug_bunny/middleware/base.rb', line 23 def initialize(app) @app = app end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns El siguiente middleware en la pila o el adaptador final.
18 19 20 |
# File 'lib/bug_bunny/middleware/base.rb', line 18 def app @app end |
Instance Method Details
#call(env) ⇒ Hash
Ejecuta el middleware orquestando los hooks de ciclo de vida.
-
Llama a #on_request (Ida).
-
Llama al siguiente eslabón (‘@app.call`).
-
Llama a #on_complete (Vuelta).
35 36 37 38 39 40 41 42 43 |
# File 'lib/bug_bunny/middleware/base.rb', line 35 def call(env) on_request(env) if respond_to?(:on_request) response = @app.call(env) on_complete(response) if respond_to?(:on_complete) response end |