tartarus-rb 0.8.0 → 0.9.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: 1fbf0d84c0c5a7221c340303d65c7649d883dae985003803b571b2a41b28081b
4
- data.tar.gz: 0a63951eac2535c59a63968ee260ec2980b0c904cbde4bba0d83beb1c04d46a5
3
+ metadata.gz: 13a894683f0832b4f8bfaaf4f5f627cae12d331759adb0e99b60ec44fdd3f7cc
4
+ data.tar.gz: 32cbe88866e542b69613fad7ab1f0f3eeabe135c9c9f53503cc93e4b07916241
5
5
  SHA512:
6
- metadata.gz: 2f7ffe596efe58ddc1c83f2d680516b54795a0ebd240ef2231dbed873bcf71ff36c52b0c06636de1de703f6a26320122ff1747bbdb98bbf2602e4547e083656e
7
- data.tar.gz: 037ec5b6c6220b18e67641eead3d177df8413b1f711148a9098957e5718b4ee18754812550062d9c5f8cfdcfa8d0f16ce8a63cb0996fd2882567bb5b67bd3356
6
+ metadata.gz: d329986a555424dbcaf0a275fed59a5591f40cab17748d7a735c60a481bb6e21152d38b4a7606573524b65671fe1f6ebe1d4c83d88758e885c9dea3e532ab62c
7
+ data.tar.gz: 75766d0ea8b51fd1409b8a27336171a8bafdfc7a8a9bc186df382845c7313c885b7d29c82beb1c52e65e1b8cebe691b3278c85c69e0f002afe888dde78238def
@@ -0,0 +1,57 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+
13
+ services:
14
+ redis:
15
+ image: redis:8
16
+ ports:
17
+ - 6379:6379
18
+ options: >-
19
+ --health-cmd "redis-cli ping"
20
+ --health-interval 10s
21
+ --health-timeout 5s
22
+ --health-retries 5
23
+ postgres:
24
+ image: postgres:17
25
+ ports:
26
+ - 5432:5432
27
+ env:
28
+ POSTGRES_HOST_AUTH_METHOD: trust
29
+ options: >-
30
+ --health-cmd pg_isready
31
+ --health-interval 10s
32
+ --health-timeout 5s
33
+ --health-retries 5
34
+
35
+ strategy:
36
+ fail-fast: false
37
+ matrix:
38
+ ruby: ["3.2", "3.3", "3.4", "4.0"]
39
+
40
+ env:
41
+ DATABASE_URL: postgresql://postgres@localhost:5432/tartarus-rb
42
+ AWS_KEY: AWS_KEY
43
+ AWS_SECRET: AWS_SECRET
44
+ AWS_REGION: us-east-2
45
+ VAULT_NAME: VAULT_NAME
46
+
47
+ steps:
48
+ - uses: actions/checkout@v6
49
+
50
+ - name: Set up Ruby ${{ matrix.ruby }}
51
+ uses: ruby/setup-ruby@v1
52
+ with:
53
+ ruby-version: ${{ matrix.ruby }}
54
+ bundler-cache: true
55
+
56
+ - name: Run specs
57
+ run: bundle exec rspec
data/Changelog.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  ## Master
4
4
 
5
+ ## 0.9.0
6
+
7
+ - Require sidekiq-cron >= 2 (Sidekiq 8 compatibility)
8
+ - Require Ruby >= 3.2, ActiveRecord >= 7.2
9
+ - Add GitHub Actions CI
10
+ - Fix pre-existing test failures for removed ordering behavior
11
+
5
12
  ## 0.8.0
6
13
 
7
14
  - Remove explicit ordering from both `Tartarus::ArchivableCollectionRepository#items_older_than` and `Tartarus::ArchivableCollectionRepository#items_older_than_for_tenant`
data/Gemfile.lock CHANGED
@@ -1,148 +1,139 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tartarus-rb (0.8.0)
4
+ tartarus-rb (0.9.0)
5
5
  sidekiq (>= 5)
6
- sidekiq-cron (~> 1)
6
+ sidekiq-cron (>= 2)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actionpack (6.1.0.rc1)
12
- actionview (= 6.1.0.rc1)
13
- activesupport (= 6.1.0.rc1)
14
- rack (~> 2.0, >= 2.0.9)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
- actionview (6.1.0.rc1)
19
- activesupport (= 6.1.0.rc1)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
- activemodel (6.1.0.rc1)
25
- activesupport (= 6.1.0.rc1)
26
- activerecord (6.1.0.rc1)
27
- activemodel (= 6.1.0.rc1)
28
- activesupport (= 6.1.0.rc1)
29
- activesupport (6.1.0.rc1)
30
- concurrent-ruby (~> 1.0, >= 1.0.2)
11
+ activemodel (8.1.2)
12
+ activesupport (= 8.1.2)
13
+ activerecord (8.1.2)
14
+ activemodel (= 8.1.2)
15
+ activesupport (= 8.1.2)
16
+ timeout (>= 0.4.0)
17
+ activesupport (8.1.2)
18
+ base64
19
+ bigdecimal
20
+ concurrent-ruby (~> 1.0, >= 1.3.1)
21
+ connection_pool (>= 2.2.5)
22
+ drb
31
23
  i18n (>= 1.6, < 2)
24
+ json
25
+ logger (>= 1.4.2)
32
26
  minitest (>= 5.1)
33
- tzinfo (~> 2.0)
34
- zeitwerk (~> 2.3)
35
- addressable (2.8.0)
36
- public_suffix (>= 2.0.2, < 5.0)
37
- aws-eventstream (1.1.0)
38
- aws-partitions (1.424.0)
39
- aws-sdk-core (3.112.0)
27
+ securerandom (>= 0.3)
28
+ tzinfo (~> 2.0, >= 2.0.5)
29
+ uri (>= 0.13.1)
30
+ addressable (2.8.9)
31
+ public_suffix (>= 2.0.2, < 8.0)
32
+ aws-eventstream (1.4.0)
33
+ aws-partitions (1.1227.0)
34
+ aws-sdk-core (3.244.0)
35
+ aws-eventstream (~> 1, >= 1.3.0)
36
+ aws-partitions (~> 1, >= 1.992.0)
37
+ aws-sigv4 (~> 1.9)
38
+ base64
39
+ bigdecimal
40
+ jmespath (~> 1, >= 1.6.1)
41
+ logger
42
+ aws-sdk-glacier (1.91.0)
43
+ aws-sdk-core (~> 3, >= 3.244.0)
44
+ aws-sigv4 (~> 1.5)
45
+ aws-sigv4 (1.12.1)
40
46
  aws-eventstream (~> 1, >= 1.0.2)
41
- aws-partitions (~> 1, >= 1.239.0)
42
- aws-sigv4 (~> 1.1)
43
- jmespath (~> 1.0)
44
- aws-sdk-glacier (1.36.0)
45
- aws-sdk-core (~> 3, >= 3.112.0)
46
- aws-sigv4 (~> 1.1)
47
- aws-sigv4 (1.2.2)
48
- aws-eventstream (~> 1, >= 1.0.2)
49
- builder (3.2.4)
50
- concurrent-ruby (1.1.7)
51
- connection_pool (2.2.3)
52
- crack (0.4.3)
53
- safe_yaml (~> 1.0.0)
54
- crass (1.0.6)
55
- diff-lcs (1.4.4)
56
- dotenv (2.7.6)
57
- erubi (1.10.0)
58
- et-orbi (1.2.7)
47
+ base64 (0.3.0)
48
+ bigdecimal (4.0.1)
49
+ concurrent-ruby (1.3.6)
50
+ connection_pool (3.0.2)
51
+ crack (1.0.1)
52
+ bigdecimal
53
+ rexml
54
+ cronex (0.15.0)
55
+ tzinfo
56
+ unicode (>= 0.4.4.5)
57
+ csv (3.3.5)
58
+ diff-lcs (1.6.2)
59
+ dotenv (3.2.0)
60
+ drb (2.2.3)
61
+ et-orbi (1.4.0)
59
62
  tzinfo
60
- fugit (1.8.1)
61
- et-orbi (~> 1, >= 1.2.7)
63
+ fugit (1.12.1)
64
+ et-orbi (~> 1.4)
62
65
  raabro (~> 1.4)
63
- globalid (1.1.0)
64
- activesupport (>= 5.0)
65
- hashdiff (1.0.0)
66
- i18n (1.8.5)
66
+ globalid (1.3.0)
67
+ activesupport (>= 6.1)
68
+ hashdiff (1.2.1)
69
+ i18n (1.14.8)
67
70
  concurrent-ruby (~> 1.0)
68
- jmespath (1.6.1)
69
- loofah (2.18.0)
70
- crass (~> 1.0.2)
71
- nokogiri (>= 1.5.9)
72
- method_source (1.0.0)
73
- mini_portile2 (2.8.4)
74
- minitest (5.20.0)
75
- nokogiri (1.15.4)
76
- mini_portile2 (~> 2.8.2)
77
- racc (~> 1.4)
78
- pg (1.5.4)
79
- postgres-copy (1.5.0)
71
+ jmespath (1.6.2)
72
+ json (2.19.2)
73
+ logger (1.7.0)
74
+ minitest (6.0.2)
75
+ drb (~> 2.0)
76
+ prism (~> 1.5)
77
+ pg (1.6.3)
78
+ postgres-copy (1.7.2)
80
79
  activerecord (>= 5.1)
80
+ csv
81
81
  pg (>= 0.17)
82
- responders
83
- public_suffix (4.0.7)
82
+ prism (1.9.0)
83
+ public_suffix (7.0.5)
84
84
  raabro (1.4.0)
85
- racc (1.7.1)
86
- rack (2.2.3.1)
87
- rack-test (1.1.0)
88
- rack (>= 1.0, < 3)
89
- rails-dom-testing (2.0.3)
90
- activesupport (>= 4.2.0)
91
- nokogiri (>= 1.6)
92
- rails-html-sanitizer (1.4.3)
93
- loofah (~> 2.3)
94
- railties (6.1.0.rc1)
95
- actionpack (= 6.1.0.rc1)
96
- activesupport (= 6.1.0.rc1)
97
- method_source
98
- rake (>= 0.8.7)
99
- thor (~> 1.0)
100
- rake (13.0.1)
101
- redis (4.2.2)
102
- responders (3.0.1)
103
- actionpack (>= 5.0)
104
- railties (>= 5.0)
105
- rspec (3.9.0)
106
- rspec-core (~> 3.9.0)
107
- rspec-expectations (~> 3.9.0)
108
- rspec-mocks (~> 3.9.0)
109
- rspec-core (3.9.3)
110
- rspec-support (~> 3.9.3)
111
- rspec-expectations (3.9.2)
85
+ rack (3.2.5)
86
+ rake (13.3.1)
87
+ redis-client (0.28.0)
88
+ connection_pool
89
+ rexml (3.4.4)
90
+ rspec (3.13.2)
91
+ rspec-core (~> 3.13.0)
92
+ rspec-expectations (~> 3.13.0)
93
+ rspec-mocks (~> 3.13.0)
94
+ rspec-core (3.13.6)
95
+ rspec-support (~> 3.13.0)
96
+ rspec-expectations (3.13.5)
112
97
  diff-lcs (>= 1.2.0, < 2.0)
113
- rspec-support (~> 3.9.0)
114
- rspec-mocks (3.9.1)
98
+ rspec-support (~> 3.13.0)
99
+ rspec-mocks (3.13.8)
115
100
  diff-lcs (>= 1.2.0, < 2.0)
116
- rspec-support (~> 3.9.0)
117
- rspec-sidekiq (3.1.0)
118
- rspec-core (~> 3.0, >= 3.0.0)
119
- sidekiq (>= 2.4.0)
120
- rspec-support (3.9.3)
121
- safe_yaml (1.0.5)
122
- sidekiq (6.1.2)
123
- connection_pool (>= 2.2.2)
124
- rack (~> 2.0)
125
- redis (>= 4.2.0)
126
- sidekiq-cron (1.10.1)
127
- fugit (~> 1.8)
101
+ rspec-support (~> 3.13.0)
102
+ rspec-sidekiq (5.3.0)
103
+ rspec-core (~> 3.0)
104
+ rspec-expectations (~> 3.0)
105
+ rspec-mocks (~> 3.0)
106
+ sidekiq (>= 5, < 9)
107
+ rspec-support (3.13.7)
108
+ securerandom (0.4.1)
109
+ sidekiq (8.1.1)
110
+ connection_pool (>= 3.0.0)
111
+ json (>= 2.16.0)
112
+ logger (>= 1.7.0)
113
+ rack (>= 3.2.0)
114
+ redis-client (>= 0.26.0)
115
+ sidekiq-cron (2.3.1)
116
+ cronex (>= 0.13.0)
117
+ fugit (~> 1.8, >= 1.11.1)
128
118
  globalid (>= 1.0.1)
129
- sidekiq (>= 6)
130
- thor (1.1.0)
131
- timecop (0.9.2)
132
- tzinfo (2.0.2)
119
+ sidekiq (>= 6.5.0)
120
+ timecop (0.9.10)
121
+ timeout (0.6.1)
122
+ tzinfo (2.0.6)
133
123
  concurrent-ruby (~> 1.0)
134
- vcr (6.0.0)
135
- webmock (3.7.6)
136
- addressable (>= 2.3.6)
124
+ unicode (0.4.4.5)
125
+ uri (1.1.1)
126
+ vcr (6.4.0)
127
+ webmock (3.26.2)
128
+ addressable (>= 2.8.0)
137
129
  crack (>= 0.3.2)
138
130
  hashdiff (>= 0.4.0, < 2.0.0)
139
- zeitwerk (2.4.1)
140
131
 
141
132
  PLATFORMS
142
133
  ruby
143
134
 
144
135
  DEPENDENCIES
145
- activerecord (~> 6)
136
+ activerecord (>= 7.2)
146
137
  aws-sdk-glacier
147
138
  dotenv
148
139
  pg
@@ -156,4 +147,4 @@ DEPENDENCIES
156
147
  webmock
157
148
 
158
149
  BUNDLED WITH
159
- 2.1.4
150
+ 4.0.6
@@ -1,5 +1,5 @@
1
1
  class Tartarus
2
2
  module Rb
3
- VERSION = "0.8.0"
3
+ VERSION = "0.9.0"
4
4
  end
5
5
  end
data/lib/tartarus.rb CHANGED
@@ -19,8 +19,8 @@ require "tartarus/registry"
19
19
  require "tartarus/repository"
20
20
  require "tartarus/schedule_archiving_model"
21
21
  require "tartarus/remote_storage"
22
- require "sidekiq/cron/job"
23
22
  require "sidekiq"
23
+ require "sidekiq-cron"
24
24
 
25
25
  class Tartarus
26
26
  attr_reader :registry, :repository
data/tartarus-rb.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.description = %q{A gem for archving (deleting) old records you no longer need. Send them straight to tartarus!}
11
11
  spec.homepage = "https://github.com/BookingSync/tartarus-rb"
12
12
  spec.license = "MIT"
13
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
13
+ spec.required_ruby_version = Gem::Requirement.new(">= 3.2.0")
14
14
 
15
15
  # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
16
16
 
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.require_paths = ["lib"]
29
29
 
30
30
  spec.add_dependency "sidekiq", ">= 5"
31
- spec.add_dependency "sidekiq-cron", "~> 1"
31
+ spec.add_dependency "sidekiq-cron", ">= 2"
32
32
 
33
33
 
34
34
  spec.add_development_dependency "rake", "~> 13.0"
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "rspec-sidekiq"
37
37
  spec.add_development_dependency "aws-sdk-glacier"
38
38
 
39
- spec.add_development_dependency "activerecord", "~> 6"
39
+ spec.add_development_dependency "activerecord", ">= 7.2"
40
40
  spec.add_development_dependency "pg"
41
41
  spec.add_development_dependency "vcr"
42
42
  spec.add_development_dependency "webmock"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tartarus-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karol Galanciak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-20 00:00:00.000000000 Z
11
+ date: 2026-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: sidekiq-cron
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1'
33
+ version: '2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1'
40
+ version: '2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -98,16 +98,16 @@ dependencies:
98
98
  name: activerecord
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '6'
103
+ version: '7.2'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '6'
110
+ version: '7.2'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pg
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -201,9 +201,9 @@ extensions: []
201
201
  extra_rdoc_files: []
202
202
  files:
203
203
  - ".env.sample"
204
+ - ".github/workflows/ci.yml"
204
205
  - ".gitignore"
205
206
  - ".rspec"
206
- - ".travis.yml"
207
207
  - Changelog.md
208
208
  - Gemfile
209
209
  - Gemfile.lock
@@ -257,14 +257,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
257
257
  requirements:
258
258
  - - ">="
259
259
  - !ruby/object:Gem::Version
260
- version: 2.3.0
260
+ version: 3.2.0
261
261
  required_rubygems_version: !ruby/object:Gem::Requirement
262
262
  requirements:
263
263
  - - ">="
264
264
  - !ruby/object:Gem::Version
265
265
  version: '0'
266
266
  requirements: []
267
- rubygems_version: 3.4.10
267
+ rubygems_version: 3.5.22
268
268
  signing_key:
269
269
  specification_version: 4
270
270
  summary: A gem for archving (deleting) old records you no longer need. Send them straight
data/.travis.yml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.7.2
6
- env:
7
- global:
8
- - AWS_KEY=AWS_KEY
9
- - AWS_SECRET=AWS_SECRET
10
- - AWS_REGION="us-east-2"
11
- - VAULT_NAME=VAULT_NAME
12
- before_install: gem install bundler -v 2.1.4
13
- services:
14
- - redis-server
15
- - postgresql