fluffle 1.0.1 → 1.1.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/lib/fluffle/handlers/base.rb +6 -0
- data/lib/fluffle/server.rb +8 -0
- data/lib/fluffle/version.rb +1 -1
- data/spec/server_spec.rb +18 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a0518b49d51b17da8d5170bbf82b58b5c3e0cfe
|
4
|
+
data.tar.gz: 24ea1dbec121cb256217b0867c52f8bdca88005d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41e1b82f5a05bca4f6e45ad386b275dc558a45b7fb6822233e0c11cde1191b1cb1566131229525b65ce0dac41875998429a15852e2f5c21222bfa811688cd8dc
|
7
|
+
data.tar.gz: 6e0ae1f32a4aa835f49ee9406755502012a8f50bfb6d3a56cd12d0458bf14dca9e282883daf12d87f2d51d5698541ba96e90a7aca1ffd18819cfdc510477a74d
|
@@ -4,6 +4,12 @@ module Fluffle
|
|
4
4
|
def call(method:, params:, id:, meta:)
|
5
5
|
raise RuntimeError, '#call is not implemented on abstract Base handler class'
|
6
6
|
end
|
7
|
+
|
8
|
+
# This is called *after* the server has published the response message
|
9
|
+
# to the client's queue.
|
10
|
+
# def after_response(request:)
|
11
|
+
# ...
|
12
|
+
# end
|
7
13
|
end
|
8
14
|
end
|
9
15
|
end
|
data/lib/fluffle/server.rb
CHANGED
@@ -163,6 +163,14 @@ module Fluffle
|
|
163
163
|
@exchange.publish Oj.dump(response), routing_key: reply_to,
|
164
164
|
correlation_id: response['id']
|
165
165
|
end
|
166
|
+
|
167
|
+
if handler.respond_to? :after_response
|
168
|
+
begin
|
169
|
+
handler.after_response request: request
|
170
|
+
rescue => err
|
171
|
+
log_error(err) if Fluffle.logger.error?
|
172
|
+
end
|
173
|
+
end
|
166
174
|
end
|
167
175
|
|
168
176
|
# handler - Instance of a `Handler` that may receive `#call`
|
data/lib/fluffle/version.rb
CHANGED
data/spec/server_spec.rb
CHANGED
@@ -128,5 +128,23 @@ describe Fluffle::Server do
|
|
128
128
|
expect(meta['handler_duration']).to be >= 0.01
|
129
129
|
end
|
130
130
|
end
|
131
|
+
|
132
|
+
it "calls the handler's #after_response method if defined" do
|
133
|
+
@params = ['foo']
|
134
|
+
|
135
|
+
result = 'bar'
|
136
|
+
handler = double 'Handler'
|
137
|
+
expect(handler).to receive(:call).ordered.and_return(result)
|
138
|
+
|
139
|
+
expect(handler).to receive(:after_response).ordered do |opts|
|
140
|
+
expect(opts[:request]).to include({
|
141
|
+
'params' => @params,
|
142
|
+
})
|
143
|
+
end
|
144
|
+
|
145
|
+
make_request handler: handler
|
146
|
+
|
147
|
+
expect_response payload: { 'result' => result }
|
148
|
+
end
|
131
149
|
end
|
132
150
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluffle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dirk Gadsden
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bunny
|