perform-later 1.0.0.alpha.4 → 1.0.0.alpha.5

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: 245b13ea7a1a957b590fa9c89ab100bb8994ad10
4
- data.tar.gz: 74909b8e458885aeae04b9ac98d29b7cd3bb7b64
3
+ metadata.gz: a7da3d0e8eda78f92e2f4a34a83f5c097f65388a
4
+ data.tar.gz: 3feafe990731366a50be268915fba122c7ff0594
5
5
  SHA512:
6
- metadata.gz: 3d5c03a768c54045313f23ffbc55f5b24cc6236060354a1d277edff14541de83e1495738d0f877f1fb0974030ec0c66d83bb8e78edc62c958b500b51922d23bb
7
- data.tar.gz: 9c298a93da63f221b1aedbcf4f98c8c96071811f20bc62853f455affc54110fb4ab187427e78b3d15bb1872add9928560738511d33b2287841df083e4387e7a3
6
+ metadata.gz: dfa912a8135239477e4071bd4bf8a31b4d4866beeecf353638cbe9290b5c63d0a3e9fa8a8618b012272a7091c2a6665613df76e5d5b27d2bb3e5dc7e0b8ba235
7
+ data.tar.gz: cbb1d4a69ea704f0abe9e76c97e38ada5e056999da9d1189cd23a32254874c9762868a4147b7e0ccbe29f663428b6242d3689f313a2c162a8fee97c7b48275de
@@ -9,7 +9,7 @@ module PerformLater
9
9
  # through an asyncronous bus.
10
10
  #
11
11
  # example:
12
- # { :do_work => {after_initialize: :setup_from_async}}
12
+ # { :do_work => {after_deserialize: :setup_from_async}}
13
13
  #
14
14
  # note: sidekiq has implementation of class_attribute
15
15
  class_attribute :perform_later_configs
@@ -27,7 +27,7 @@ module PerformLater
27
27
  # def do_work
28
28
  # end
29
29
  #
30
- # perform_later :do_work, after_initialize: :setup_from_async
30
+ # perform_later :do_work, after_deserialize: :setup_from_async
31
31
  #
32
32
  # private
33
33
  #
@@ -40,9 +40,22 @@ module PerformLater
40
40
  self.perform_later_configs[method.to_s] = opts
41
41
 
42
42
  define_singleton_method "#{method}_later", ->(*args) do
43
+ args = call_before_serialize(opts[:before_serialize], args)
43
44
  perform_async(method, *args)
44
45
  end
45
46
  singleton_class.send(:alias_method, "#{method}_async", "#{method}_later")
46
47
  end
48
+
49
+ private
50
+
51
+ def call_before_serialize(call, args)
52
+ case call
53
+ when Symbol
54
+ self.send(call, *args)
55
+ else
56
+ # null or unsupported call type, return untouched args
57
+ args
58
+ end
59
+ end
47
60
  end
48
61
  end
@@ -3,14 +3,14 @@ module PerformLater
3
3
 
4
4
  def perform(method, *args)
5
5
  config = perform_later_configs[method] || {}
6
- call_after_initialize(config[:after_initialize], *args)
6
+ call_after_deserialize(config[:after_deserialize], *args)
7
7
 
8
8
  self.send method
9
9
  end
10
10
 
11
11
  private
12
12
 
13
- def call_after_initialize(call, *args)
13
+ def call_after_deserialize(call, *args)
14
14
  case call
15
15
  when Symbol
16
16
  self.send(call, *args)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perform-later
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha.4
4
+ version: 1.0.0.alpha.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Prothro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-11 00:00:00.000000000 Z
11
+ date: 2016-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq