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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 495ca1024544a93568872748bc264f6654ba8dda
4
- data.tar.gz: 4280d48353cb7746adf1858f7a4b274c9d765987
3
+ metadata.gz: fd6ca4c19eec0cfe4f1c67893e228e34de2738ff
4
+ data.tar.gz: ea6138eb02264f866a9953d3e931245393d6dcdd
5
5
  SHA512:
6
- metadata.gz: cc27f1148cc89102d73fb67c8fc4ad0bb3c5d9924d5e77eb66ae87acb34cc6817384ec9a1ba7be86dcd14cae5569f5889915625f2b5613640166301637dca760
7
- data.tar.gz: 192f28497fa7a70ce86dc2746df757144e0e22ae0721a5415d793d57143f31c3bed2d6aaf767dfa315bd7da0be23181d2fd9c397260970504d7db8862eba5a7c
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
@@ -1,3 +1,3 @@
1
1
  module ElmerFudd
2
- VERSION = "0.0.24"
2
+ VERSION = "0.0.26"
3
3
  end
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.24
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-04 00:00:00.000000000 Z
12
+ date: 2015-04-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bunny