kungfuig 0.6.42 → 0.6.73

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 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