ElmerFudd 0.0.24 → 0.0.26
Sign up to get free protection for your applications and to get access to all the features.
- 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
|