bug_bunny 4.4.0 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +9 -2
- data/lib/bug_bunny/configuration.rb +1 -1
- data/lib/bug_bunny/producer.rb +4 -1
- data/lib/bug_bunny/session.rb +1 -1
- data/lib/bug_bunny/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f78de682c42ac5bcc4e0fbf14a7f03873e69459e32d5b1e20432c7e1c0871a7c
|
|
4
|
+
data.tar.gz: 0b4a97ff9cdaa0eba4e869f00eb759595e4adfe7b7b4e2626afa01e734d252ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ac04317d1875384da9d685fb353b68a9cbbdfaecbca4c0944a13576162f8dfbde469692c9b72e86d649886bc808647d08e68d7c82bed15de2026c5bc46418b0d
|
|
7
|
+
data.tar.gz: a9ca7fd494102230ea3fbe9d85a757c5291e7a87cbbccae5d8649c84a8d48f913d3b38b576751494683c495e471850e3925b54a9f4856f1c473ad4aeb6fcec90
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.4.2] - 2026-03-25
|
|
4
|
+
|
|
5
|
+
### 📈 Observability & Standards Final Polish
|
|
6
|
+
* **Event Naming Standardization:** Se unificaron todos los nombres de eventos internos al formato estricto `clase.evento` (ej: `consumer.message_received`, `producer.rpc_waiting`) para una categorización impecable en motores de logs.
|
|
7
|
+
* **Encoding & Mojibake Cleanup:** Limpieza profunda de artefactos de codificación en comentarios y documentación de toda la gema, garantizando legibilidad total en español.
|
|
8
|
+
* **Internal Consistency:** Refactorización de llamadas a `safe_log` para utilizar metadatos simplificados y símbolos consistentes en todos los componentes clave.
|
|
9
|
+
|
|
10
|
+
## [4.4.1] - 2026-03-25
|
|
11
|
+
|
|
12
|
+
### 🐛 Bug Fixes
|
|
13
|
+
* **Producer:** Se corrigió el valor de retorno del método `fire` para que devuelva un Hash simbólico (`{ 'status' => 202 }`) en lugar del objeto Exchange. Esto previene errores de tipo `NoMethodError: undefined method []` en el cliente al realizar publicaciones asíncronas (`:publish`).
|
|
14
|
+
|
|
3
15
|
## [4.4.0] - 2026-03-24
|
|
4
16
|
|
|
5
17
|
### 📈 Standard Observability Pattern
|
data/README.md
CHANGED
|
@@ -107,8 +107,8 @@ BugBunny.routes.draw do
|
|
|
107
107
|
end
|
|
108
108
|
end
|
|
109
109
|
|
|
110
|
-
# app/
|
|
111
|
-
module
|
|
110
|
+
# app/controllers/bug_bunny/nodes_controller.rb
|
|
111
|
+
module BugBunny
|
|
112
112
|
module Controllers
|
|
113
113
|
class NodesController < BugBunny::Controller
|
|
114
114
|
def index
|
|
@@ -126,6 +126,13 @@ module Rabbit
|
|
|
126
126
|
end
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
+
> **Namespace de Controladores:** Por defecto BugBunny busca los controladores bajo `BugBunny::Controllers`. Podés cambiarlo en la configuración:
|
|
130
|
+
> ```ruby
|
|
131
|
+
> BugBunny.configure do |config|
|
|
132
|
+
> config.controller_namespace = 'MyApp::RabbitControllers'
|
|
133
|
+
> end
|
|
134
|
+
> ```
|
|
135
|
+
|
|
129
136
|
---
|
|
130
137
|
|
|
131
138
|
## 🔌 Middlewares
|
data/lib/bug_bunny/producer.rb
CHANGED
|
@@ -36,7 +36,7 @@ module BugBunny
|
|
|
36
36
|
# configuración y publica el mensaje sin esperar respuesta.
|
|
37
37
|
#
|
|
38
38
|
# @param request [BugBunny::Request] Objeto con la configuración del envío (body, exchange_options, etc).
|
|
39
|
-
# @return [
|
|
39
|
+
# @return [Hash] Un hash de éxito simbólico ({ 'status' => 202 }).
|
|
40
40
|
def fire(request)
|
|
41
41
|
# Obtenemos el exchange pasando las opciones específicas del request para la fusión en cascada
|
|
42
42
|
x = @session.exchange(
|
|
@@ -51,6 +51,9 @@ module BugBunny
|
|
|
51
51
|
log_request(request, payload)
|
|
52
52
|
|
|
53
53
|
x.publish(payload, opts.merge(routing_key: request.final_routing_key))
|
|
54
|
+
|
|
55
|
+
# Devolvemos un hash para evitar NoMethodError en el cliente (que espera una respuesta tipo Hash)
|
|
56
|
+
{ 'status' => 202, 'body' => nil }
|
|
54
57
|
end
|
|
55
58
|
|
|
56
59
|
# Envía un mensaje y bloquea el hilo actual esperando una respuesta (RPC).
|
data/lib/bug_bunny/session.rb
CHANGED
|
@@ -73,7 +73,7 @@ module BugBunny
|
|
|
73
73
|
.merge(opts)
|
|
74
74
|
|
|
75
75
|
# public_send permite llamar a :topic, :direct, etc. dinámicamente según el tipo
|
|
76
|
-
channel.public_send(type, name, merged_opts)
|
|
76
|
+
channel.public_send(type.to_s, name.to_s, merged_opts)
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
# Factory method para declarar o recuperar una Cola aplicando la cascada de configuración.
|
data/lib/bug_bunny/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bug_bunny
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.4.
|
|
4
|
+
version: 4.4.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- gabix
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bunny
|