bug_bunny 4.5.0 → 4.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 027ba35b634991e2d41e8e80250b7c03e1dd3c60265eed0787f9d2e513911276
4
- data.tar.gz: deb6f54612ca89aa583482a8e7fba8d3df60db3b4bebeb7454b47d561e4b5d0e
3
+ metadata.gz: cf859639083ea9d1f901e23cc09e57ceb9899f98c592466c33241d266386b155
4
+ data.tar.gz: b6eef706f88542a64ec6a2489a750a8f12819a2f1df7c9c15a1c356abe53aca8
5
5
  SHA512:
6
- metadata.gz: d30777e78f9e82f984537d775a65a9b0dfada3b408d716fdb61e11d9464c24cfed58710fffaca2e355429955a9db733d79a8a7c470ce39171a5dafe5be1c7762
7
- data.tar.gz: e35937729acad3ee114e63cefd998c609171e3244b1cd5469dacf9626a732871ee4c687be8beb8f8016b4a5245e6d8a80ef52c44007dd9404b645ea0954a6063
6
+ metadata.gz: 324b80a09c7bf9a7b93a7945dbb6f277016536a9993ea0c69535e8ddf1f73518f6046eb7155c39d355bbc533b6e4033154b218648fd43149f611238873bdcc5b
7
+ data.tar.gz: '02918cea81a796bba129ec5a0bf0fa8eb58325dddb530e857e2d6880f938e56528957769c64689402f448c58794be4f0ca44bdbca6c3697553a18e8d1b8b9f43'
data/CHANGELOG.md CHANGED
@@ -1,24 +1,19 @@
1
1
  # Changelog
2
2
 
3
- ## [4.5.0] - 2026-03-25
4
-
5
- ### ✨ New Features & DX
6
- * **Controller Header API:** Se introdujo el método `headers` en `BugBunny::Controller` para permitir una manipulación intuitiva de las cabeceras de respuesta AMQP, siguiendo el patrón familiar de Rails.
7
- * Ejemplo: `headers['X-Custom'] = 'Value'`.
8
- * **Observability Refinement:** Finalización de la migración al patrón de observabilidad estándar con nombres de eventos `clase.evento` en todos los componentes.
9
-
10
- ## [4.4.2] - 2026-03-25
11
-
3
+ ## [4.5.1] - 2026-03-30
12
4
 
13
5
  ### ✨ New Features
14
6
  * **Request#params:** Se agregó el atributo `params` al objeto `Request` para enviar query params de forma declarativa, al estilo Faraday. Los params se serializan como query string (`Rack::Utils.build_nested_query`) y viajan en el header AMQP `type`, que es el que usa el consumer para rutear al controlador. La `routing_key` del exchange no se ve afectada.
7
+ * Ejemplo: `client.request('users', method: :get, params: { q: { active: true } })`
15
8
  * **Resource.where con params:** `Resource.where` ahora usa internamente `req.params` en lugar de construir la URL manualmente, unificando el comportamiento con el cliente directo.
9
+ * Ejemplo: `RemoteNode.where(q: { status: 'active' })`
10
+ * **Observability — Hash serialization:** `safe_log` ahora serializa valores `Hash` como JSON compacto en el log, en lugar de la representación de Ruby, facilitando el parseo en motores de logs.
16
11
 
17
12
  ### 🐛 Bug Fixes
18
13
  * **Session#exchange:** El `name` y `type` del exchange se convierten a `String` via `.to_s` antes de pasarlos a Bunny, evitando `NoMethodError: undefined method 'gsub' for an instance of Symbol` al configurar exchanges con Symbols.
19
14
  * **Configuration:** Se corrigió el namespace por defecto de controladores de `'Rabbit::Controllers'` a `'BugBunny::Controllers'`.
20
15
 
21
- ## [4.4.2] - 2026-03-25
16
+ ## [4.5.0] - 2026-03-25
22
17
 
23
18
  ### 📈 Observability & Standards Final Polish
24
19
  * **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.
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'json'
4
+
3
5
  module BugBunny
4
6
  # @api private
5
7
  module Observability
@@ -21,6 +23,7 @@ module BugBunny
21
23
 
22
24
  formatted = case val
23
25
  when Numeric then val
26
+ when Hash then val.to_json # Genera JSON compacto analizable
24
27
  when String then val.include?(" ") ? val.inspect : val
25
28
  else val.to_s.include?(" ") ? val.to_s.inspect : val
26
29
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BugBunny
4
- VERSION = "4.5.0"
4
+ VERSION = "4.5.1"
5
5
  end
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.5.0
4
+ version: 4.5.1
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-27 00:00:00.000000000 Z
11
+ date: 2026-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny