downstream 1.5.0 → 1.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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/downstream/engine.rb +1 -0
- data/lib/downstream/pubsub_adapters/abstract_pubsub.rb +4 -0
- data/lib/downstream/pubsub_adapters/stateless/pubsub.rb +13 -1
- data/lib/downstream/version.rb +1 -1
- metadata +15 -80
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1e21fb36c5475aee1858bcdbfa9f99db92a62059f74605906f95034e8661df0e
|
|
4
|
+
data.tar.gz: 0bf3825da8014d5a0daed6cbdcf21303d11b9657af42d96e55e5fe4488c0981b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b8b80db17bd482235eff304bf087c1eecd0e3a1a605cf4590f3c19cae725c1170cd8404dcab2b0603d67a726e53e08fc140069b38a4dcaf9e490a816a04e5b4d
|
|
7
|
+
data.tar.gz: 188c160278a9578615796d867833b1377bc1664b5ad1f750d4cd21d6eea3828eef956bf0a9570c0889d0b6a1b240c783df9bdb9c340768bc89893b3bdf00a392
|
data/README.md
CHANGED
|
@@ -153,9 +153,9 @@ end
|
|
|
153
153
|
# for asynchronous subscriptions
|
|
154
154
|
it "is subscribed to some event" do
|
|
155
155
|
event = MyEvent.new(some: "data")
|
|
156
|
-
expect { Downstream.publish event }
|
|
157
|
-
to have_enqueued_async_subscriber_for(MySubscriberService)
|
|
158
|
-
with(event)
|
|
156
|
+
expect { Downstream.publish event }
|
|
157
|
+
.to have_enqueued_async_subscriber_for(MySubscriberService)
|
|
158
|
+
.with(event)
|
|
159
159
|
end
|
|
160
160
|
```
|
|
161
161
|
|
data/lib/downstream/engine.rb
CHANGED
|
@@ -6,8 +6,20 @@ require_relative "subscriber"
|
|
|
6
6
|
module Downstream
|
|
7
7
|
module Stateless
|
|
8
8
|
class Pubsub < AbstractPubsub
|
|
9
|
+
def initialize
|
|
10
|
+
@subscribers = []
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def reset
|
|
14
|
+
@subscribers.each(&:unsubscribe)
|
|
15
|
+
@subscribers.clear
|
|
16
|
+
end
|
|
17
|
+
|
|
9
18
|
def subscribe(identifier, callable, async: false)
|
|
10
|
-
Subscriber.new(callable, async: async).tap
|
|
19
|
+
Subscriber.new(callable, async: async).tap do |s|
|
|
20
|
+
s.subscribe(identifier)
|
|
21
|
+
@subscribers << s
|
|
22
|
+
end
|
|
11
23
|
end
|
|
12
24
|
|
|
13
25
|
def subscribed(identifier, callable, &block)
|
data/lib/downstream/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: downstream
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- merkushin.m.s@gmail.com
|
|
8
8
|
- dementiev.vm@gmail.com
|
|
9
|
-
autorequire:
|
|
10
|
-
bindir:
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2025-02-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: after_commit_everywhere
|
|
@@ -53,20 +53,6 @@ dependencies:
|
|
|
53
53
|
- - ">="
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: '6'
|
|
56
|
-
- !ruby/object:Gem::Dependency
|
|
57
|
-
name: appraisal
|
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
|
59
|
-
requirements:
|
|
60
|
-
- - "~>"
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: '2.2'
|
|
63
|
-
type: :development
|
|
64
|
-
prerelease: false
|
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - "~>"
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: '2.2'
|
|
70
56
|
- !ruby/object:Gem::Dependency
|
|
71
57
|
name: bundler
|
|
72
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -95,48 +81,20 @@ dependencies:
|
|
|
95
81
|
- - "~>"
|
|
96
82
|
- !ruby/object:Gem::Version
|
|
97
83
|
version: '1.3'
|
|
98
|
-
- !ruby/object:Gem::Dependency
|
|
99
|
-
name: debug
|
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
|
101
|
-
requirements:
|
|
102
|
-
- - "~>"
|
|
103
|
-
- !ruby/object:Gem::Version
|
|
104
|
-
version: '1.3'
|
|
105
|
-
type: :development
|
|
106
|
-
prerelease: false
|
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
108
|
-
requirements:
|
|
109
|
-
- - "~>"
|
|
110
|
-
- !ruby/object:Gem::Version
|
|
111
|
-
version: '1.3'
|
|
112
84
|
- !ruby/object:Gem::Dependency
|
|
113
85
|
name: rake
|
|
114
86
|
requirement: !ruby/object:Gem::Requirement
|
|
115
87
|
requirements:
|
|
116
|
-
- - "
|
|
88
|
+
- - ">="
|
|
117
89
|
- !ruby/object:Gem::Version
|
|
118
90
|
version: '13.0'
|
|
119
91
|
type: :development
|
|
120
92
|
prerelease: false
|
|
121
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
122
94
|
requirements:
|
|
123
|
-
- - "
|
|
95
|
+
- - ">="
|
|
124
96
|
- !ruby/object:Gem::Version
|
|
125
97
|
version: '13.0'
|
|
126
|
-
- !ruby/object:Gem::Dependency
|
|
127
|
-
name: rspec
|
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
requirements:
|
|
130
|
-
- - "~>"
|
|
131
|
-
- !ruby/object:Gem::Version
|
|
132
|
-
version: '3.0'
|
|
133
|
-
type: :development
|
|
134
|
-
prerelease: false
|
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
136
|
-
requirements:
|
|
137
|
-
- - "~>"
|
|
138
|
-
- !ruby/object:Gem::Version
|
|
139
|
-
version: '3.0'
|
|
140
98
|
- !ruby/object:Gem::Dependency
|
|
141
99
|
name: rspec-rails
|
|
142
100
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -151,36 +109,8 @@ dependencies:
|
|
|
151
109
|
- - "~>"
|
|
152
110
|
- !ruby/object:Gem::Version
|
|
153
111
|
version: '6.0'
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
requirement: !ruby/object:Gem::Requirement
|
|
157
|
-
requirements:
|
|
158
|
-
- - "~>"
|
|
159
|
-
- !ruby/object:Gem::Version
|
|
160
|
-
version: 1.4.0
|
|
161
|
-
type: :development
|
|
162
|
-
prerelease: false
|
|
163
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
164
|
-
requirements:
|
|
165
|
-
- - "~>"
|
|
166
|
-
- !ruby/object:Gem::Version
|
|
167
|
-
version: 1.4.0
|
|
168
|
-
- !ruby/object:Gem::Dependency
|
|
169
|
-
name: standard
|
|
170
|
-
requirement: !ruby/object:Gem::Requirement
|
|
171
|
-
requirements:
|
|
172
|
-
- - "~>"
|
|
173
|
-
- !ruby/object:Gem::Version
|
|
174
|
-
version: '1.3'
|
|
175
|
-
type: :development
|
|
176
|
-
prerelease: false
|
|
177
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
178
|
-
requirements:
|
|
179
|
-
- - "~>"
|
|
180
|
-
- !ruby/object:Gem::Version
|
|
181
|
-
version: '1.3'
|
|
182
|
-
description:
|
|
183
|
-
email:
|
|
112
|
+
description:
|
|
113
|
+
email:
|
|
184
114
|
executables: []
|
|
185
115
|
extensions: []
|
|
186
116
|
extra_rdoc_files: []
|
|
@@ -203,8 +133,13 @@ homepage: https://github.com/palkan/downstream
|
|
|
203
133
|
licenses:
|
|
204
134
|
- MIT
|
|
205
135
|
metadata:
|
|
136
|
+
bug_tracker_uri: http://github.com/palkan/downstream/issues
|
|
137
|
+
changelog_uri: https://github.com/palkan/downstream/blob/master/CHANGELOG.md
|
|
138
|
+
documentation_uri: http://github.com/palkan/downstream
|
|
139
|
+
homepage_uri: http://github.com/palkan/downstream
|
|
140
|
+
source_code_uri: http://github.com/palkan/downstream
|
|
206
141
|
allowed_push_host: https://rubygems.org
|
|
207
|
-
post_install_message:
|
|
142
|
+
post_install_message:
|
|
208
143
|
rdoc_options: []
|
|
209
144
|
require_paths:
|
|
210
145
|
- lib
|
|
@@ -220,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
220
155
|
version: '0'
|
|
221
156
|
requirements: []
|
|
222
157
|
rubygems_version: 3.4.19
|
|
223
|
-
signing_key:
|
|
158
|
+
signing_key:
|
|
224
159
|
specification_version: 4
|
|
225
160
|
summary: Straightforward way to implement communication between Rails Engines using
|
|
226
161
|
the Publish-Subscribe pattern
|