local_bus 0.2.0 → 0.3.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.
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: local_bus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nate Hopkins (hopsoft)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-11 00:00:00.000000000 Z
11
+ date: 2024-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: async
14
+ name: algorithms
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: concurrent-ruby
28
+ name: async
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: zeitwerk
42
+ name: timers
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,13 +53,13 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: amazing_print
56
+ name: zeitwerk
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
- type: :development
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: fiddle
70
+ name: amazing_print
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: minitest
84
+ name: fiddle
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: minitest-reporters
98
+ name: minitest
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: ostruct
112
+ name: minitest-reporters
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: pry-byebug
126
+ name: ostruct
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: pry-doc
140
+ name: pry-byebug
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,7 +151,7 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: rake
154
+ name: pry-doc
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -165,7 +165,7 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: rbs-inline
168
+ name: rake
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ">="
@@ -179,7 +179,7 @@ dependencies:
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
- name: standard
182
+ name: rbs-inline
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="
@@ -193,7 +193,7 @@ dependencies:
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
- name: tocer
196
+ name: standard
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - ">="
@@ -234,10 +234,17 @@ files:
234
234
  - lib/local_bus.rb
235
235
  - lib/local_bus/bus.rb
236
236
  - lib/local_bus/message.rb
237
- - lib/local_bus/pledge.rb
237
+ - lib/local_bus/publication.rb
238
238
  - lib/local_bus/station.rb
239
239
  - lib/local_bus/subscriber.rb
240
240
  - lib/local_bus/version.rb
241
+ - sig/generated/local_bus.rbs
242
+ - sig/generated/local_bus/bus.rbs
243
+ - sig/generated/local_bus/message.rbs
244
+ - sig/generated/local_bus/publication.rbs
245
+ - sig/generated/local_bus/station.rbs
246
+ - sig/generated/local_bus/subscriber.rbs
247
+ - sig/generated/local_bus/version.rbs
241
248
  homepage: https://github.com/hopsoft/local_bus
242
249
  licenses:
243
250
  - MIT
@@ -260,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
260
267
  - !ruby/object:Gem::Version
261
268
  version: '0'
262
269
  requirements: []
263
- rubygems_version: 3.5.21
270
+ rubygems_version: 3.5.23
264
271
  signing_key:
265
272
  specification_version: 4
266
273
  summary: A lightweight pub/sub system for decoupled intra-process communication in
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # rbs_inline: enabled
4
-
5
- class LocalBus
6
- # A promise-like object that wraps an Async::Barrier and a list of Subscribers.
7
- # Delegates #wait to the barrier and all other methods to the subscriber list.
8
- class Pledge
9
- # Constructor
10
- # @rbs barrier: Async::Barrier -- barrier used to wait for all tasks
11
- # @rbs subscribers: Array[Subscriber]
12
- def initialize(barrier, *subscribers)
13
- @barrier = barrier
14
- @subscribers = subscribers
15
- end
16
-
17
- # Blocks and waits for the barrier... all subscribers to complete
18
- # @rbs return: void
19
- def wait
20
- @barrier.wait
21
- self
22
- end
23
-
24
- # Blocks and waits then returns all subscribers
25
- # @rbs return: Array[Subscriber]
26
- def value
27
- wait
28
- @subscribers
29
- end
30
-
31
- ## @!group Delegatation to subscribers
32
-
33
- # def method_missing(...)
34
- # return @subscribers.send(...) if @subscribers.respond_to?(...)
35
- # super
36
- # end
37
-
38
- # def respond_to_missing?(...)
39
- # return true if @subscribers.respond_to?(...)
40
- # super
41
- # end
42
- end
43
- end