tiny_bus 3.4.2 → 3.6.0

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tiny_bus.rb +8 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed8817e45ae848d457fe774c07270b7cf3f4bd5a000224925c3083f21d3ff35f
4
- data.tar.gz: 252785fea90871f09d2a875fecb06eb062d3993be7f08d5a4729f17af4ae19e2
3
+ metadata.gz: f68f0f35a09503b6ecd6fa7d914e5886b078ee18001bd79de12aaa06c54c9d11
4
+ data.tar.gz: d8768af58ad92f7b0c38994833c095546f5d32ee63a709218633d2803a427d16
5
5
  SHA512:
6
- metadata.gz: fd9692802125bf10e345531ca7fa3ccff91eb2c9bfc21210db18d736f382247e9b4cfb0babbbf8c08514ec7df209aa8a3f83fe5466049fc6dac90abb65b82a35
7
- data.tar.gz: 2b35f6675e5331a3812b676deac96a0be3a4d788824551b91e621f08499b1e28759d0747d53897d0dd56f04db9d76216c4bfb1882339c0bbd36a3fba1cad8127
6
+ metadata.gz: e9ec3f27c4da06841ecd727b15f0120f42efbce9848019a78e9d030921a4642734fd0d8d18c1fac92859c26fb7113d2be7ac409d3b2b6e998891ee1bdbbffaa7
7
+ data.tar.gz: e6e5bfaf301ab9ff091788612b27f16a5ab02463234302ee567cf1845d14dc3d55328a978e79ba91abe2d94101ba46268ce57899e7b7a6e9ae66551d09b9c517
data/lib/tiny_bus.rb CHANGED
@@ -83,14 +83,18 @@ class TinyBus
83
83
  @subs[topic] << subber
84
84
  @stats[topic] ||= 0
85
85
 
86
- msg({ @topic_key => 'sub', 'to_topic' => topic, 'subber' => subber.to_s }, 'TINYBUS-SUB')
86
+ msg({ @topic_key => 'sub', 'to_topic' => topic, 'subber' => _to_subber_id(subber) }, 'TINYBUS-SUB')
87
87
  end
88
88
 
89
89
  # removes a subscriber from a topic
90
90
  def unsub(topic, subber)
91
91
  @subs[topic]&.delete(subber)
92
92
 
93
- msg({ @topic_key => 'unsub', 'from_topic' => topic, 'subber' => subber.to_s }, 'TINYBUS-UNSUB')
93
+ msg({ @topic_key => 'unsub', 'from_topic' => topic, 'subber' => _to_subber_id(subber) }, 'TINYBUS-UNSUB')
94
+ end
95
+
96
+ def _to_subber_id(subber)
97
+ "#{subber.class.name}@#{subber.object_id}"
94
98
  end
95
99
 
96
100
  # takes an incoming message and distributes it to subscribers
@@ -133,6 +137,8 @@ class TinyBus
133
137
  def to_s
134
138
  <<~DEBUG
135
139
  TinyBus stats: #{@subs.keys.length > 0 ? "\n " + @stats.keys.sort.map{|t| "#{t.rjust(12)}: #{@stats[t]}" }.join("\n ") : '<NONE>'}
140
+ Topics & Subscribers:
141
+ #{@subs.map{|topic, subbers| "#{topic}\n #{subbers.map(&:to_s).join("\n ")}" }.join("\n ") }
136
142
  DEBUG
137
143
  end
138
144
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_bus
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.2
4
+ version: 3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Lunt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-14 00:00:00.000000000 Z
11
+ date: 2022-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tiny_log