sidekiq_lifecycle_hooks 1.2.0 → 1.3.0

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
  SHA256:
3
- metadata.gz: c9f6952ed887b4100cf66995f956ba991321208c27dec44696b13f38ed228dbe
4
- data.tar.gz: 67fcab6bfbf89f60d88cec414e3aa75c2f41ceda81f6146172523feb99d9393d
3
+ metadata.gz: e680eb3a1bd1a627e65eb60a1af029b7792fecf91af35eddac1219a82d83cbbe
4
+ data.tar.gz: d6160ba25cdc33755c531b8289da34c0b17627131142128d1c505f93d764efb1
5
5
  SHA512:
6
- metadata.gz: a1d8103f922ba8c5c0503f5471a88b57b3782c3f7394f43b736adb57313a37db6134b6d9ba82e0bd637fdf2be484bef456f2f07b1c4908b13469697ef1601712
7
- data.tar.gz: 0371e9a8adcc25640be69b44af53e88044074383ae49525e361f0a587f5bf32e85b16634b87a3e7d6cc0dbe90dfa6d3e7a20461c7840e3ad986ce4741e6efe0b
6
+ metadata.gz: 2cc51496cd0b9d004f488d924714e700c1725e2c8ec03d5394ab23a71a5a731562a50b555837ee952dd788cb3dfea573a65c1e4dd5aa39286be76f3224f61206
7
+ data.tar.gz: 260dafdde9bb4f6347c41beba08686c08d68c6f81b7b37c469fb906a5eb9413b6395eb3595b81ec010931be52da14ce11d759f0f63112b8f7e841b1343f44a85
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
+ ### 1.3.0
3
+
4
+ - Move to after_commit
5
+
2
6
  ### 1.2.0
3
7
 
4
8
  - Added a retry in Async job where record cannot be found, in case
data/README.md CHANGED
@@ -102,3 +102,11 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/WillTa
102
102
  ## License
103
103
 
104
104
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
105
+
106
+ ## Notes to self
107
+
108
+ To deploy a new version
109
+ - Update the version number & changelog
110
+ - gem build sidekiq_lifecycle_hooks.gemspec
111
+ - gem push sidekiq_lifecycle_hooks-1.X.0.gem
112
+
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SidekiqLifecycleHooks
4
- VERSION = "1.2.0"
4
+ VERSION = "1.3.0"
5
5
  end
@@ -4,22 +4,27 @@ module SidekiqLifecycleHooks
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  included do
7
- after_create :enqueue_async_after_create_actions, if: -> { self.class.method_defined?(:async_after_create_actions) }
8
- after_update :enqueue_async_after_update_actions, if: -> { self.class.method_defined?(:async_after_update_actions) }
9
- after_destroy :enqueue_async_after_destroy_actions, if: -> { self.class.method_defined?(:async_after_destroy_actions) }
7
+ after_create_commit :enqueue_async_after_create_actions, if: -> { self.class.method_defined?(:async_after_create_actions) }
8
+ after_update_commit :enqueue_async_after_update_actions, if: -> { self.class.method_defined?(:async_after_update_actions) }
9
+ before_destroy :prepare_async_after_destroy_actions, if: -> { self.class.method_defined?(:async_after_destroy_actions) }
10
+ after_destroy_commit :enqueue_async_after_destroy_actions, if: -> { self.class.method_defined?(:async_after_destroy_actions) }
10
11
  end
11
12
 
12
13
  private
13
14
 
14
15
  def enqueue_async_after_create_actions
15
- LifecycleJob.perform_in(1.second, self.class.name, id, 'create')
16
+ LifecycleJob.perform_async(self.class.name, id, 'create')
16
17
  end
17
18
 
18
19
  def enqueue_async_after_update_actions
19
- LifecycleJob.perform_in(1.second, self.class.name, id, 'update')
20
+ LifecycleJob.perform_async(self.class.name, id, 'update')
21
+ end
22
+
23
+ def prepare_async_after_destroy_actions
24
+ @destroyed_attributes = attributes.to_json
20
25
  end
21
26
 
22
27
  def enqueue_async_after_destroy_actions
23
- LifecycleJob.perform_in(1.second, self.class.name, id, 'destroy', attributes.to_json)
28
+ LifecycleJob.perform_async(self.class.name, id, 'destroy', @destroyed_attributes)
24
29
  end
25
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq_lifecycle_hooks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Will Taylor
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-10 00:00:00.000000000 Z
11
+ date: 2024-09-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: