kungfuig 0.6.42 → 0.6.73

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: 7c444e2752064ce877c806c1bd15870a0c6207c5
4
- data.tar.gz: 8c3b531d12b1e9ac15e1c0d7a9fbd8e29ff70f25
3
+ metadata.gz: 7e20e38132697789e93ab8f317969d8402fedb3f
4
+ data.tar.gz: 08844129c3dbf30e1554ccbddf77e45346cbdf80
5
5
  SHA512:
6
- metadata.gz: 6dd1b5f5472b1e56facb1e23691740e945d86f7fcbe6fc887397ad0f433a77f85351db191637ce9ab8e568521403aa0e0327d34c3c4d5f162e463cdc3ca02012
7
- data.tar.gz: 4caff814e1d5144d093dcf7f8eaf7627031931b6383c9376a0baf2267e7e4c415009da24690d0d23de21867f6c988639bf7b911a31be718fa892674cf9c2c26b
6
+ metadata.gz: 7f2014a678c4f99ef764eb97604ab9368632f50a9c009f0df8be68f522f36dc33eca19eb13eb975014bd4c8f9cdaeb4fb958ca27b4272ef8987d603d7068348b
7
+ data.tar.gz: b17420b33161841feb3f5a96daa66e4da34c50acd52cdd211e4d6d57d55ea73e2b0d4b1c39c3c2b17dc81a7594bdfeb6cfa3bb2ad05714db8f08d15e0eed1a93
@@ -9,6 +9,23 @@ rescue LoadError
9
9
  end
10
10
 
11
11
  module Kungfuig
12
+ class JobberError < StandardError
13
+ end
14
+
15
+ module Worker
16
+ def self.prepended base
17
+ raise JobberError.new("Must be prepended to class defining ‘perform’ method!") unless base.instance_methods.include?(:perform)
18
+ base.send(:include, Sidekiq::Worker) unless base.ancestors.include? Sidekiq::Worker
19
+ end
20
+
21
+ def perform *args, **params
22
+ args.select { |arg| arg.is_a?(Hash) }.each do |arg|
23
+ params.merge! args.delete(arg).map { |k, v| [k.to_sym, v] }.to_h
24
+ end
25
+ super(*args, **params)
26
+ end
27
+ end
28
+
12
29
  # Generic helper for massive attaching aspects
13
30
  class Jobber
14
31
  class << self
@@ -35,7 +52,9 @@ module Kungfuig
35
52
  @hash[c.name] && @hash[c.name][method]
36
53
  end)
37
54
 
38
- Kernel.const_get(@hash[receiver_class.name][method]).perform_async(receiver: r, method: method, result: result, args: args, params: params)
55
+ destination = Kernel.const_get(@hash[receiver_class.name][method])
56
+ destination.send(:prepend, Kungfuig::Worker) unless destination.ancestors.include? Kungfuig::Worker
57
+ destination.perform_async(receiver: r, method: method, result: result, args: args, params: params)
39
58
  rescue => e
40
59
  Kungfuig.✍(receiver: [
41
60
  "Fail [#{e.message}]",
@@ -1,3 +1,3 @@
1
1
  module Kungfuig
2
- VERSION = "0.6.42"
2
+ VERSION = "0.6.73"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kungfuig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.42
4
+ version: 0.6.73
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kantox LTD