ElmerFudd 0.0.24 → 0.0.26
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/ElmerFudd.rb +18 -0
- data/lib/ElmerFudd/version.rb +1 -1
- 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: fd6ca4c19eec0cfe4f1c67893e228e34de2738ff
|
4
|
+
data.tar.gz: ea6138eb02264f866a9953d3e931245393d6dcdd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 218fc0908e3aeed38a67737fedccaad4282faf858a2883773ff86a793172d663756f0275957d5b392482016fd128d02f726d8171b507c5060cb52328cfc67b17
|
7
|
+
data.tar.gz: 0c71524cae5acb9e7e5995ab08863e50b50b05f1053f9124631d270f678ad9d819bc067f7f6763d0bad95fb52d0ed3616243c76e761354ede2ad30bfb2f511ba
|
data/lib/ElmerFudd.rb
CHANGED
@@ -115,6 +115,24 @@ module ElmerFudd
|
|
115
115
|
handlers << RpcHandler.new(route, handler || block, (@filters + filters).uniq)
|
116
116
|
end
|
117
117
|
|
118
|
+
# Helper allowing to use any method taking hash as a handler
|
119
|
+
# def example(text:, **_)
|
120
|
+
# puts text
|
121
|
+
# end
|
122
|
+
# # then in worker
|
123
|
+
# handle_cast(...
|
124
|
+
# handler: payload_as_kwargs(method(:example)))
|
125
|
+
# Thanks to usage of **_ in arguments list it will accept
|
126
|
+
# any payload contaning 'text' key. Skipping **_ will require
|
127
|
+
# listing all payload keys in argument list
|
128
|
+
def self.payload_as_kwargs(handler, only: nil)
|
129
|
+
lambda do |_env, message|
|
130
|
+
symbolized_payload = message.payload.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
|
131
|
+
symbolized_payload = symbolized_payload.select { |k,v| Array(only).include?(k) } if only
|
132
|
+
handler.call(symbolized_payload)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
118
136
|
def initialize(connection, concurrency: 1, logger: Logger.new($stdout))
|
119
137
|
@connection = connection
|
120
138
|
@concurrency = concurrency
|
data/lib/ElmerFudd/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ElmerFudd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrzej Sliwa
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
12
|
+
date: 2015-04-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bunny
|