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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b9386a291d7b4a4b674279d75e3a10b9b89b184daa8992150fab59a873dd055
4
- data.tar.gz: e5e0db15d748fc4fee5deb06fcabc7083555b5a90803b7b7e1e916fc4efd99d2
3
+ metadata.gz: f78de682c42ac5bcc4e0fbf14a7f03873e69459e32d5b1e20432c7e1c0871a7c
4
+ data.tar.gz: 0b4a97ff9cdaa0eba4e869f00eb759595e4adfe7b7b4e2626afa01e734d252ef
5
5
  SHA512:
6
- metadata.gz: 57835a7bd1b1b437c655754c70cb5e3ddd38466f64a527317b82ddec47c524c67ad9c821758698b5b553d03f484dcbff5608faea4eb2dadc96975387044236d9
7
- data.tar.gz: b0a435d8c309f8bbd7f9ac748d26c6961f718955ce09d06753c13e2b23ce77877510f6aa84702df315f4b012fc52f4e7910a7905695c2438c7fae396821324da
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/rabbit/controllers/nodes_controller.rb
111
- module Rabbit
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
@@ -128,7 +128,7 @@ module BugBunny
128
128
  @health_check_file = nil
129
129
 
130
130
  # Configuración por defecto para mantener compatibilidad
131
- @controller_namespace = 'Rabbit::Controllers'
131
+ @controller_namespace = 'BugBunny::Controllers'
132
132
 
133
133
  @log_tags = [:uuid]
134
134
 
@@ -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 [void]
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).
@@ -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.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BugBunny
4
- VERSION = "4.4.0"
4
+ VERSION = "4.4.2"
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.4.0
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-24 00:00:00.000000000 Z
11
+ date: 2026-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny