acidic_job 0.5.5 → 0.6.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: 79d8997dd3c0922319cbfc2408804a935e302a74c6fc0664811dce1a59bb272d
4
- data.tar.gz: bfce5d294e9831fff9e40fc8b6aa1cda59eb31262640f2530906b30b21ceea79
3
+ metadata.gz: 739d9a393b9dfcf91c6e941e188cab965a2800cf7a729e70a5d30542c76b1237
4
+ data.tar.gz: 6fb81e32e31e6db7001a11d607f33d3bc7f1cb5ddc147d48f8ead84ae15fc7d1
5
5
  SHA512:
6
- metadata.gz: c97fed527770260bfd63f1ef3702419c81168e9b2f08da603ed22e328d22f85dc0a745bdc523725317ac3ac77fa4a3005581cd82a7bc85cd573552ba158e473f
7
- data.tar.gz: 1e5a63b40b7e6b98e10bf9c98db06686b0468fd559ccdd0834309b2a2e5e40c4d9366632806c845e72cb43924fb34059155d67b2fa5bd5717ed5f6c523589082
6
+ metadata.gz: bc2d1796950ffb4640d49dc61e05771b2a72f6b6776d96dda4fa35f93720e0687102e08bc8ad39a176d44be828528048df03c4492cbd0b1d121865ef929e5b8f
7
+ data.tar.gz: 32db6d94ca8a8a70d48a7afa863f85f50ebdf05320c9461b1f8c647d4681e697d7d5bc814864fb8846b516482db7057e8659598387f661e43764115f1525e840
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- acidic_job (0.5.5)
4
+ acidic_job (0.6.0)
5
5
  activerecord (>= 4.0.0)
6
6
  activesupport
7
7
 
@@ -9,13 +9,13 @@ module AcidicJob
9
9
  class_methods do
10
10
  # rubocop:disable Metrics/MethodLength
11
11
  def perform_transactionally(*args)
12
- attributes = if self < ActiveJob::Base
12
+ attributes = if defined?(ActiveJob) && self < ActiveJob::Base
13
13
  {
14
14
  adapter: "activejob",
15
15
  job_name: name,
16
16
  job_args: job_or_instantiate(*args).serialize
17
17
  }
18
- elsif include? Sidekiq::Worker
18
+ elsif defined?(Sidekiq) && include?(Sidekiq::Worker)
19
19
  {
20
20
  adapter: "sidekiq",
21
21
  job_name: name,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AcidicJob
4
- VERSION = "0.5.5"
4
+ VERSION = "0.6.0"
5
5
  end
data/lib/acidic_job.rb CHANGED
@@ -67,6 +67,7 @@ module AcidicJob
67
67
 
68
68
  # set accessors for each argument passed in to ensure they are available
69
69
  # to the step methods the job will have written
70
+ # THIS HAPPENS OUTSIDE OF ANY TRANSACTION
70
71
  define_accessors_for_passed_arguments(with, @key)
71
72
 
72
73
  # otherwise, we will enter a loop to process each required step of the job
@@ -141,7 +142,7 @@ module AcidicJob
141
142
  ActiveRecord::Base.transaction(isolation: isolation_level) do
142
143
  @key = Key.find_by(idempotency_key: key_val)
143
144
 
144
- if @key
145
+ if @key.present?
145
146
  # Programs enqueuing multiple jobs with different parameters but the
146
147
  # same idempotency key is a bug.
147
148
  raise MismatchedIdempotencyKeyAndJobArguments if @key.job_args != @arguments_for_perform
@@ -215,8 +216,7 @@ module AcidicJob
215
216
  return job_id if defined?(job_id) && !job_id.nil?
216
217
  return jid if defined?(jid) && !jid.nil?
217
218
 
218
- require "securerandom"
219
- SecureRandom.hex
219
+ Digest::SHA1.hexdigest [self.class.name, arguments_for_perform].flatten.join
220
220
  end
221
221
  end
222
222
  # rubocop:enable Metrics/ModuleLength, Metrics/AbcSize, Metrics/MethodLength
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acidic_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - fractaledmind
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-13 00:00:00.000000000 Z
11
+ date: 2021-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord