ae_active_job_state 1.4.0 → 1.5.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: 7966bff95810ee499a2d422d2619a9e81bade8ee70ef125f179b9253ef38bb39
4
- data.tar.gz: 51136ba6333be70054c2aaabb6db144c454e1c20727db97d1ae8910996d2ce8f
3
+ metadata.gz: 5a36d3251147c02ccddd3897a60a623f1718e954586d1b98532eca6395a4f5d7
4
+ data.tar.gz: c60b1a78279f89eab6afd5893c577d413f234ab83bf4e0c692216fb5c475208a
5
5
  SHA512:
6
- metadata.gz: ace24e82bacbd6426566cf3d023f20759e18571b357f33b2b5854e2360c9958951b6cef6377e5500276a0468f7b70f7f2e425b3ccfd40c17b57e7831079042ac
7
- data.tar.gz: e4f474e8ff55a41a4a6eb80f4d661180a05039493df0328d8c7c08e817d4925067dd7674f2d8a39a301698582e51de7bad577896bfbcc6bf1551801f40012e33
6
+ metadata.gz: 13878aef77c807f642609e5b658649070e87d3caca78a14f34f3c89aa454ed2f7cfeb909ac672042e446e5787073aeb9b491ad19f5075452087fbb98fcf2f6b9
7
+ data.tar.gz: 105953f5f2f3c60f25360e71b0fa3ee478e067c1f778bbead1bc85764d1bb899a1a95cea723dd3ccded6cbb85af3c3553aed050225d984b01a731fd000af621c
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2020-2024 AppFolio, Inc
1
+ Copyright (c) 2020-2025 AppFolio, Inc
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -15,11 +15,11 @@ Gem::Specification.new do |spec|
15
15
  spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|LICENSE.txt|.*gemspec)}] }
16
16
  spec.require_paths = ['lib']
17
17
 
18
- spec.required_ruby_version = Gem::Requirement.new('< 3.4')
18
+ spec.required_ruby_version = Gem::Requirement.new('< 3.5')
19
19
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
20
20
 
21
21
  spec.add_dependency('aasm', ['>= 5.1', '< 6'])
22
- spec.add_dependency('activejob', ['>= 6.1', '< 7.3'])
23
- spec.add_dependency('activerecord', ['>= 6.1', '< 7.3'])
24
- spec.add_dependency('activesupport', ['>= 6.1', '< 7.3'])
22
+ spec.add_dependency('activejob', ['>= 7', '< 8.1'])
23
+ spec.add_dependency('activerecord', ['>= 7', '< 8.1'])
24
+ spec.add_dependency('activesupport', ['>= 7', '< 8.1'])
25
25
  end
@@ -3,7 +3,7 @@
3
3
  module AeActiveJobState
4
4
  class DeleteOldJobStatesJob < ActiveJob::Base
5
5
  def perform(older_than_days: 30)
6
- JobState.where('updated_at < ?', older_than_days.days.ago).destroy_all
6
+ JobState.where(updated_at: ...older_than_days.days.ago).destroy_all
7
7
  end
8
8
  end
9
9
  end
@@ -12,8 +12,12 @@ module AeActiveJobState
12
12
  # before_enqueue is only triggered on `perform_later`
13
13
  # `perform_now` would go directly to around_perform
14
14
  before_enqueue do |job|
15
- @job_state = AeActiveJobState::JobState.create!(status: 'pending', active_job_id: job.job_id,
16
- args: job.arguments, worker_class: job.class)
15
+ @job_state = AeActiveJobState::JobState.create!(
16
+ status: JobState::STATE_PENDING,
17
+ active_job_id: job.job_id,
18
+ args: job.arguments,
19
+ worker_class: job.class
20
+ )
17
21
  end
18
22
 
19
23
  around_perform do |job, block|
@@ -30,8 +34,12 @@ module AeActiveJobState
30
34
  # We continue to handle the case where the state was fully inserted before this callback is hit and the case
31
35
  # where the job was never enqueued.
32
36
  begin
33
- @job_state = AeActiveJobState::JobState.create!(status: 'pending', active_job_id: job.job_id,
34
- args: job.arguments, worker_class: job.class)
37
+ @job_state = AeActiveJobState::JobState.create!(
38
+ status: JobState::STATE_PENDING,
39
+ active_job_id: job.job_id,
40
+ args: job.arguments,
41
+ worker_class: job.class
42
+ )
35
43
  rescue ActiveRecord::RecordNotUnique, ActiveRecord::RecordInvalid
36
44
  @job_state = AeActiveJobState::JobState.find_by!(active_job_id: job.job_id)
37
45
  end
@@ -8,7 +8,7 @@ module AeActiveJobState
8
8
  validates :active_job_id, presence: true, uniqueness: { case_sensitive: false }
9
9
 
10
10
  include AASM
11
- aasm(column: 'status') do
11
+ aasm column: :status do
12
12
  state :pending, initial: true
13
13
  state :running
14
14
  state :finished
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AeActiveJobState
4
- VERSION = '1.4.0'
4
+ VERSION = '1.5.0'
5
5
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class AddWorkerClassColumnToJobStateTable < ActiveRecord::Migration[6.0]
3
+ class AddWorkerClassColumnToJobStateTable < ActiveRecord::Migration["#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}"]
4
4
  def change
5
5
  change_table :ae_active_job_state_job_states do |t|
6
6
  t.string :worker_class
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class CreateAeActiveJobStateTables < ActiveRecord::Migration[6.0]
3
+ class CreateAeActiveJobStateTables < ActiveRecord::Migration["#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}"]
4
4
  def change
5
5
  create_table :ae_active_job_state_job_states do |t|
6
6
  t.timestamps null: false
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ae_active_job_state
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - AppFolio
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-10-01 00:00:00.000000000 Z
10
+ date: 2025-04-17 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: aasm
@@ -36,60 +35,60 @@ dependencies:
36
35
  requirements:
37
36
  - - ">="
38
37
  - !ruby/object:Gem::Version
39
- version: '6.1'
38
+ version: '7'
40
39
  - - "<"
41
40
  - !ruby/object:Gem::Version
42
- version: '7.3'
41
+ version: '8.1'
43
42
  type: :runtime
44
43
  prerelease: false
45
44
  version_requirements: !ruby/object:Gem::Requirement
46
45
  requirements:
47
46
  - - ">="
48
47
  - !ruby/object:Gem::Version
49
- version: '6.1'
48
+ version: '7'
50
49
  - - "<"
51
50
  - !ruby/object:Gem::Version
52
- version: '7.3'
51
+ version: '8.1'
53
52
  - !ruby/object:Gem::Dependency
54
53
  name: activerecord
55
54
  requirement: !ruby/object:Gem::Requirement
56
55
  requirements:
57
56
  - - ">="
58
57
  - !ruby/object:Gem::Version
59
- version: '6.1'
58
+ version: '7'
60
59
  - - "<"
61
60
  - !ruby/object:Gem::Version
62
- version: '7.3'
61
+ version: '8.1'
63
62
  type: :runtime
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - ">="
68
67
  - !ruby/object:Gem::Version
69
- version: '6.1'
68
+ version: '7'
70
69
  - - "<"
71
70
  - !ruby/object:Gem::Version
72
- version: '7.3'
71
+ version: '8.1'
73
72
  - !ruby/object:Gem::Dependency
74
73
  name: activesupport
75
74
  requirement: !ruby/object:Gem::Requirement
76
75
  requirements:
77
76
  - - ">="
78
77
  - !ruby/object:Gem::Version
79
- version: '6.1'
78
+ version: '7'
80
79
  - - "<"
81
80
  - !ruby/object:Gem::Version
82
- version: '7.3'
81
+ version: '8.1'
83
82
  type: :runtime
84
83
  prerelease: false
85
84
  version_requirements: !ruby/object:Gem::Requirement
86
85
  requirements:
87
86
  - - ">="
88
87
  - !ruby/object:Gem::Version
89
- version: '6.1'
88
+ version: '7'
90
89
  - - "<"
91
90
  - !ruby/object:Gem::Version
92
- version: '7.3'
91
+ version: '8.1'
93
92
  description: Store ActiveJob status in ActiveRecord
94
93
  email: opensource@appfolio.com
95
94
  executables: []
@@ -111,7 +110,6 @@ licenses:
111
110
  - MIT
112
111
  metadata:
113
112
  allowed_push_host: https://rubygems.org
114
- post_install_message:
115
113
  rdoc_options: []
116
114
  require_paths:
117
115
  - lib
@@ -119,15 +117,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
117
  requirements:
120
118
  - - "<"
121
119
  - !ruby/object:Gem::Version
122
- version: '3.4'
120
+ version: '3.5'
123
121
  required_rubygems_version: !ruby/object:Gem::Requirement
124
122
  requirements:
125
123
  - - ">="
126
124
  - !ruby/object:Gem::Version
127
125
  version: '0'
128
126
  requirements: []
129
- rubygems_version: 3.5.7
130
- signing_key:
127
+ rubygems_version: 3.6.2
131
128
  specification_version: 4
132
129
  summary: Store ActiveJob status in ActiveRecord
133
130
  test_files: []