super_spreader 0.2.1 → 0.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: 218410a0d636165a53af2cbb3d7969e3012b9d53762fd083afa6631df8ba6050
4
- data.tar.gz: c2677c30551a84636b42529b7e108857bd474c21a1f714be6017bdbd833b26ef
3
+ metadata.gz: ad65fe4707c47054fd68d1edbef20f032747c34c8abd7ea4ff83f63910f0fa12
4
+ data.tar.gz: a60fd7959c1de80066024c791b956169b7cf2dd353b5f452758d91235a203e77
5
5
  SHA512:
6
- metadata.gz: 18b07df371436f3d5df02a38d976106833170d794c453963fa04abc83104e4d5537891dbf14e287795e689bfdc0f51a2e23e1f8526b0d585bf51a20f3d7240d8
7
- data.tar.gz: 638abecc6b7f5bed3bfb6797dd573e6e9a350146534494d3634b08a2769ec7d2cef40b3c6215d6a8fc0172fc5f411460e8e22643fcf84c0c4e720877b2edb146
6
+ metadata.gz: cdd752d66bf6e8ac8b825917ea31bdf0601861dc84f5cb175ffcb3760bab7d6a83ba3b7033b926951d90d6f8af9665eb03f1ea39ea26b08ca30dda28900acdfe
7
+ data.tar.gz: 10dcfcc38afd01c302cc8d9f6905e7aa48366c089e5fe05a3492c0e5ff1aa7157c8ee15a84af62cfc46084abc146a94bf94f3d090aefb4938b66891945d3d24b
data/.circleci/config.yml CHANGED
@@ -1,145 +1,385 @@
1
1
  version: 2.1
2
2
 
3
3
  orbs:
4
- gem: doximity/gem-publisher@0
4
+ ci-utils: doximity/ci-utils@2
5
5
 
6
6
  executors:
7
- ruby_3_0:
8
- resource_class: small
9
- docker:
10
- - image: cimg/ruby:3.0
11
- environment:
12
- BUNDLE_VERSION: '~> 2.4.3'
13
- - image: redis:6.2
14
-
15
- ruby_3_1:
7
+ ruby:
8
+ parameters:
9
+ ruby-version:
10
+ type: string
11
+ default: 3.2.2
16
12
  resource_class: small
17
13
  docker:
18
- - image: cimg/ruby:3.1
14
+ - image: cimg/ruby:<< parameters.ruby-version >>
19
15
  environment:
20
- BUNDLE_VERSION: '~> 2.4.3'
21
- - image: redis:6.2
16
+ REDIS_URL: redis://localhost:6379
17
+ BUNDLE_VERSION: 2.5.5
22
18
 
23
- ruby_3_2:
19
+ ruby-with-services:
20
+ parameters:
21
+ ruby-version:
22
+ type: string
23
+ default: 3.2.2
24
24
  resource_class: small
25
25
  docker:
26
- - image: cimg/ruby:3.2
26
+ - image: cimg/ruby:<< parameters.ruby-version >>
27
27
  environment:
28
- BUNDLE_VERSION: '~> 2.4.3'
29
- - image: redis:6.2
30
-
31
- # yaml anchor filters
32
- master_only: &master_only
33
- filters:
34
- branches:
35
- only: master
36
- tags:
37
- ignore: /.*/
38
- pr_only: &pr_only
39
- filters:
40
- branches:
41
- ignore: master
42
- tags:
43
- ignore: /.*/
44
- version_tags_only: &version_tags_only
45
- filters:
46
- branches:
47
- ignore: /.*/
48
- tags:
49
- only: /^v.*/
28
+ REDIS_URL: redis://localhost:6379
29
+ BUNDLE_VERSION: 2.5.5
30
+ - image: cimg/redis:6.2
50
31
 
51
- jobs:
52
- build:
32
+ commands:
33
+ bundle_install:
53
34
  parameters:
54
- executor:
35
+ cache-dependencies:
36
+ description: 'Determines whether or not to use a cache for gem dependencies.
37
+ Default is false.
38
+
39
+ '
40
+ type: boolean
41
+ default: false
42
+ cache-salt:
43
+ description: |
44
+ Salt to change the cache name, so we can use it with different version (i.e. Ruby versions).
45
+ If you're only using a single Ruby version, it's recommended to leave it blank.
55
46
  type: string
56
- default: ruby_3_2
57
- executor: "<< parameters.executor >>"
47
+ default: default
58
48
  steps:
59
- - checkout
60
49
  - run:
61
50
  name: Install Bundler specific version
51
+ command: gem install bundler --version "$BUNDLE_VERSION" --force
52
+ - when:
53
+ condition: "<< parameters.cache-dependencies >>"
54
+ steps:
55
+ - restore_cache:
56
+ keys:
57
+ - << parameters.cache-salt >>-v1-bundle-{{ checksum "Gemfile.lock" }}
58
+ - "<< parameters.cache-salt >>-v1-bundle-"
59
+ - run:
60
+ name: Configure Bundler
62
61
  command: |
63
- gem install bundler --version "${BUNDLE_VERSION}" --force
64
- - restore_cache:
65
- keys:
66
- - v1-bundle-<< parameters.executor >>-{{ checksum "Gemfile.lock" }}
62
+ bundle config set --local path 'vendor/bundle'
63
+ bundle config set --local jobs 4
64
+ bundle config set --local retry 3
67
65
  - run:
68
66
  name: Install Ruby Dependencies
69
- command: bundle check --path=vendor/bundle || bundle install
70
- - save_cache:
71
- key: v1-bundle-<< parameters.executor >>-{{ checksum "Gemfile.lock" }}
72
- paths:
73
- - vendor/bundle
67
+ command: |
68
+ if [ -d "vendor/cache" ]; then
69
+ bundle install --local --verbose
70
+ else
71
+ bundle install --verbose
72
+ fi
74
73
  - run:
75
- name: Run Tests
76
- command: bundle exec rspec --format RspecJunitFormatter --out tmp/results.xml --format progress
77
- - store_test_results:
78
- path: tmp/results.xml
74
+ name: Did you run bundle install after changing Gemfile?
75
+ command: git diff --exit-code Gemfile.lock
76
+ - when:
77
+ condition: "<< parameters.cache-dependencies >>"
78
+ steps:
79
+ - save_cache:
80
+ key: << parameters.cache-salt >>-v1-bundle-{{ checksum "Gemfile.lock"}}
81
+ paths:
82
+ - vendor/bundle
83
+
84
+ install_gem_version:
85
+ parameters:
86
+ gem-version:
87
+ description: 'The name and version number (e.g. rails-7.0.3) you want installed, specified to the patch version.'
88
+ type: string
89
+ default: ''
90
+ steps:
91
+ - when:
92
+ condition: "<< parameters.gem-version >>"
93
+ steps:
94
+ - run:
95
+ name: Unfreeze Bundle
96
+ command: bundle config set --local frozen 'false'
97
+ - run:
98
+ name: Show prior gem version
99
+ command: |
100
+ read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
101
+ version=$(bundle list | sed -n "s/[[:space:]]*\* $target_gemname (\(.*\))/\1/p")
102
+ if [[ -z "$version" ]]; then
103
+ echo "No prior version of ${target_gemname} found."
104
+ else
105
+ echo $version;
106
+ fi
107
+ - run:
108
+ name: Set gem version to << parameters.gem-version >>
109
+ command: |
110
+ cd
111
+ mkdir -p ~/project/vendor/cache
112
+ read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
113
+ gem install $target_gemname -i /tmp/repo --no-document -v $target_version
114
+
115
+ # Install sqlite3 2.1.0 if we're using Rails 8
116
+ if [[ "$target_gemname" = "rails" && "$target_version" =~ ^8\. ]]; then
117
+ echo "Detected Rails 8.x, installing sqlite3 2.1.0"
118
+ gem install sqlite3 -i /tmp/repo --no-document -v 2.1.0
119
+ else
120
+ gem install sqlite3 -i /tmp/repo --no-document -v 1.7.3
121
+ fi
122
+
123
+ echo 'Delete any gems matching the newly installed ones from the existing cache'
124
+ for line in $(ls /tmp/repo/cache | grep gem); do
125
+ read -r gemname version \<<< $( echo $line | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)[^0-9\.]*.*.gem/\1 \2/g')
126
+ if [ $gemname = 'bundler' ]; # skip bundler
127
+ then continue
128
+ fi
129
+ rm -f ~/project/vendor/cache/$gemname*.gem
130
+ done;
131
+
132
+ echo 'The following gems will be copied into the project: '
133
+ ls -l /tmp/repo/cache
134
+ cp /tmp/repo/cache/*.gem ~/project/vendor/cache
135
+
136
+ echo 'Showing gems in the project cache: ls -al ~/project/vendor/cache'
137
+ ls -al ~/project/vendor/cache
138
+
139
+ cd ~/project
140
+ echo 'Removing Gemfile.lock'
141
+ rm -f ./Gemfile.lock
142
+
143
+ echo 'Fancy replacement. Set all gems in the gemspec to what we currently have in the vendor/cache.'
144
+ for line in $(ls vendor/cache | grep gem); do
145
+ # we don't care about the .gem, get rid of it
146
+ trimmed_line=${line%%.gem}
147
+ # version to include anything after the gem name so we can pick up prerelease versions
148
+ read -r gemname version \<<< $( echo $trimmed_line | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*[^0-9\.]*.*\)/\1 \2/g' )
149
+
150
+ # leave bundler alone
151
+ if [ $gemname = 'bundler' ];
152
+ then continue
153
+ fi
154
+
155
+ # strip out platform info from version, we just want the number plus any prerelease identifiers
156
+ version=$(echo $version | cut -d "-" -f 1)
157
+
158
+ sed -i "s/\(.*_dependency \"$gemname\"\)".*"/\1, \"~> $version\"/g" *.gemspec
159
+
160
+ if [[ "$gemname" = "$target_gemname" ]]; then
161
+ if [[ -z "$(sed -n "s/\(.*_dependency \"$gemname\"\).*\"/\1/p" *.gemspec)" ]];
162
+ then
163
+ echo 'No pre-existing version, adding version';
164
+ replacement="spec\\.add_development_dependency \"$gemname\", \"~> $version\""
165
+ sed -e "0,/add.*dependency/{/add.*dependency/a\ $replacement" -e "}" -i -- *.gemspec
166
+ else
167
+ echo 'nothing to do';
168
+ fi;
169
+ fi;
170
+ done;
171
+
172
+ if [[ "$target_gemname" = "rails" && "$target_version" =~ ^8\. ]]; then
173
+ echo "Detected Rails 8.x, force gemspec to use sqlite3 >= 2.1"
174
+ sed -i 's/spec.add_development_dependency "sqlite3"/spec.add_development_dependency "sqlite3", ">= 2.1"/' super_spreader.gemspec
175
+ else
176
+ sed -i 's/spec.add_development_dependency "sqlite3"/spec.add_development_dependency "sqlite3", "~> 1.7"/' super_spreader.gemspec
177
+ fi
178
+
179
+ echo 'cat *.gemspec'
180
+ cat *.gemspec
181
+
182
+ echo 'bundle install --local --no-cache'
183
+ bundle install --local --no-cache
184
+ - run:
185
+ name: Gem version after upgrade
186
+ command: |
187
+ read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
188
+ version=$(bundle list | sed -n "s/[[:space:]]*\* $target_gemname (\(.*\))/\1/p")
189
+ if [[ -z "$version" ]]; then
190
+ echo "${target_gemname} was somehow not installed."
191
+ exit 1
192
+ else
193
+ echo $version;
194
+ fi
195
+
196
+ run_rspec_tests:
197
+ parameters:
198
+ test_pattern:
199
+ default: "{$(ls -d spec/**/ | tr '\\n' ',' | sed -E 's/(spec\\/|factories|support|\\/|,$)//g'
200
+ | sed 's/,\\{2,\\}/,/g')}"
201
+ type: string
202
+ description: |
203
+ A string that resolves to something like this:
204
+ "{controllers,features,javascripts,lib,models,services,system,views}"
205
+ It must either be a VALID BASH string (assignable to a variable) or evaluate to that in a CI Bash environment.
206
+ You must escape bashslashes (`\`), e.g. "\\" if you want them to make it through Circle's Parameter evaluation step.
207
+ It is consumed (by default) by 'circelci tests glob' which aims for a string like this:
208
+ "spec/{controllers,models,system}/**/*_spec.rb"
209
+ You can opt to pass in an empty string if you plan to provide an explicit list with test_files.
210
+ test_files:
211
+ default: $(circleci tests glob "spec/$TEST_PATTERN/**/*_spec.rb" | circleci
212
+ tests split --split-by=timings)
213
+ type: string
214
+ description: |
215
+ A string that resolves to something like this: "spec/models/user_spec.rb spec/controllers/user_controller_spec.rb ..."
216
+ It must either be a VALID BASH string (assignable to a variable) or evaluate to that in a CI Bash environment.
217
+ You must escape bashslashes (`\`), e.g. "\\" if you want them to make it through Circle's Parameter evaluation step.
218
+ It is used directly as an argument to `bundle exec rspec $TESTFILES`.
219
+ If you provide a direct list of files, e.g.
220
+ "echo 'spec/one_spec.rb spec/two_spec.rb spec/red_spec.rb spec/blue_spec.rb'"
221
+ And you wish to maintain proper parallelism support, you can pipe it to "circleci tests split":
222
+ "$(echo 'spec/one_spec.rb \n spec/two_spec.rb \n spec/red_spec.rb \n spec/blu_spec.rb' | circleci tests split --split-by=timings)"
223
+ NOTE: 'circleci tests split' wants a newline separated list:
224
+ spec/seuss/one_spec.rb
225
+ spec/seuss/two_spec.rb
226
+ spec/seuss/red_spec.rb
227
+ spec/seuss/blu_spec.rb
228
+ Don't forget to use a subshell.
229
+ profile-specs:
230
+ description: 'State the number of specs you wish to evaluate for slowness
231
+ using RSpec profiler. Default is 0.
232
+
233
+ '
234
+ type: integer
235
+ default: 0
236
+ steps:
237
+ - run:
238
+ name: Run RSpec Tests
239
+ command: |
240
+ shopt -s globstar
241
+ OUT_PATH=tmp/test-results
242
+ mkdir -p $OUT_PATH
243
+ TEST_PATTERN=<< parameters.test_pattern >>
244
+ TEST_FILES=<< parameters.test_files >>
245
+ PROFILE_COUNT=<< parameters.profile-specs >>
246
+ RSPEC_COMMAND="bundle exec rspec --profile $PROFILE_COUNT --format RspecJunitFormatter --out $OUT_PATH/results.xml --format progress --order defined $TEST_FILES"
247
+ printf "Executing specs with the following command:\n\n"
248
+ echo ${RSPEC_COMMAND}
249
+ printf "\n"
250
+ eval $RSPEC_COMMAND
251
+
252
+ jobs:
253
+ circle_ci_job:
254
+ parameters:
255
+ executor:
256
+ type: string
257
+ default: base
258
+ resource_class:
259
+ type: string
260
+ default: small
261
+ parallelism:
262
+ type: integer
263
+ default: 1
264
+ checkout-depth:
265
+ type: string
266
+ default: '1'
267
+ checkout-cache-salt:
268
+ type: string
269
+ default: base
270
+ dependencies:
271
+ description: Steps to install/manage machine and project dependencies, executed
272
+ after project checkout.
273
+ type: steps
274
+ default: []
275
+ pre-actions:
276
+ description: Steps to perform any necessary setup after dependencies are installed.
277
+ type: steps
278
+ default: []
279
+ actions:
280
+ description: The actions that fulfill the primary purpose of the CI job (tests/checks/etc.)
281
+ type: steps
282
+ default:
283
+ - run:
284
+ name: No CI Actions Warning
285
+ command: |
286
+ echo "No actions provided for CI to perform! Please add desired CI task via pipefitter extension."
287
+ exit 1
288
+ post-actions:
289
+ description: Any artifacting/reporting/cleanup that must occur after the main
290
+ actions.
291
+ type: steps
292
+ default: []
293
+ executor: "<< parameters.executor >>"
294
+ resource_class: "<< parameters.resource_class >>"
295
+ parallelism: "<< parameters.parallelism >>"
296
+ steps:
297
+ - ci-utils/ci_checkout:
298
+ depth: "<< parameters.checkout-depth >>"
299
+ cache-salt: "<< parameters.checkout-cache-salt >>"
300
+ - steps: "<< parameters.dependencies >>"
301
+ - steps: "<< parameters.pre-actions >>"
302
+ - steps: "<< parameters.actions >>"
303
+ - steps: "<< parameters.post-actions >>"
304
+ - ci-utils/quietly_store_artifacts
305
+
306
+ ruby_mvt_job:
307
+ parameters:
308
+ executor:
309
+ type: string
310
+ default: ruby
311
+ parallelism:
312
+ type: integer
313
+ default: 1
314
+ resource_class:
315
+ type: string
316
+ default: small
317
+ cache-dependencies:
318
+ description: 'Determines whether or not to use a cache for gem dependencies.
319
+ Default is false.
320
+
321
+ '
322
+ type: boolean
323
+ default: false
324
+ gem-version:
325
+ description: 'The name and version number (e.g. rails-7.0.3) you want installed,
326
+ specified to the patch version.
327
+
328
+ '
329
+ type: string
330
+ default: ''
331
+ ruby-version:
332
+ type: string
333
+ default: '3.1'
334
+ pre-actions:
335
+ description: Steps to perform any necessary setup after dependencies are installed.
336
+ type: steps
337
+ default: []
338
+ actions:
339
+ description: The actions that fulfill the primary purpose of the CI job (tests/checks/etc.)
340
+ type: steps
341
+ default: []
342
+ post-actions:
343
+ description: Any artifacting/reporting/cleanup that must occur after the main
344
+ actions.
345
+ type: steps
346
+ default: []
347
+ executor:
348
+ name: "<< parameters.executor >>"
349
+ ruby-version: "<< parameters.ruby-version >>"
350
+ resource_class: "<< parameters.resource_class >>"
351
+ parallelism: "<< parameters.parallelism >>"
352
+ steps:
353
+ - ci-utils/ci_checkout
354
+ - bundle_install:
355
+ cache-dependencies: "<< parameters.cache-dependencies >>"
356
+ cache-salt: "<< parameters.ruby-version >>"
357
+ - install_gem_version:
358
+ gem-version: "<< parameters.gem-version >>"
359
+ - steps: "<< parameters.pre-actions >>"
360
+ - steps: "<< parameters.actions >>"
361
+ - steps: "<< parameters.post-actions >>"
362
+ - ci-utils/quietly_store_artifacts
79
363
 
80
364
  workflows:
81
- trunk:
82
- jobs:
83
- - build:
84
- <<: *master_only
85
- matrix:
86
- parameters:
87
- executor: [ruby_3_0, ruby_3_1, ruby_3_2]
88
- - gem/build:
89
- <<: *master_only
90
- executor: ruby_3_2
91
- name: gem-build
92
- requires:
93
- - build
94
-
95
- pull-requests:
96
- jobs:
97
- - build:
98
- <<: *pr_only
99
- matrix:
100
- parameters:
101
- executor: [ruby_3_0, ruby_3_1, ruby_3_2]
102
- - gem/build:
103
- <<: *pr_only
104
- executor: ruby_3_2
105
- name: gem-build
106
- vendor-cache: false
107
- requires:
108
- - build
109
- - pre-release-approval:
110
- <<: *pr_only
111
- type: approval
112
- requires:
113
- - gem-build
114
- - gem/publish:
115
- <<: *pr_only
116
- name: gem-publish
117
- to_rubygems: false
118
- to_nexus: true
119
- pre_release: true
120
- requires:
121
- - pre-release-approval
122
- context: artifact_publishing
123
-
124
- final-release:
365
+ main:
125
366
  jobs:
126
- - build:
127
- <<: *version_tags_only
367
+ - ruby_mvt_job:
368
+ executor: ruby-with-services
369
+ context: nexus_readonly
370
+ post-actions:
371
+ - store_test_results:
372
+ path: tmp/test-results
373
+ actions:
374
+ - run_rspec_tests:
375
+ test_pattern: "{$(ls -d spec/**/ | sed -E 's/(spec\\/|factories|support|\\/|,$)//g'
376
+ | sort | uniq | tr '\\n' ',' | sed 's/,\\{2,\\}/,/g')}"
377
+ test_files: $(circleci tests glob "spec/$TEST_PATTERN/**/*_spec.rb" |
378
+ circleci tests split --split-by=timings)
379
+ parallelism: 1
128
380
  matrix:
129
381
  parameters:
130
- executor: [ruby_3_0, ruby_3_1, ruby_3_2]
131
- - gem/build:
132
- <<: *version_tags_only
133
- executor: ruby_3_2
134
- name: gem-build
135
- vendor-cache: false
136
- requires:
137
- - build
138
- - gem/publish:
139
- <<: *version_tags_only
140
- name: gem-publish
141
- to_rubygems: true
142
- pre_release: false
143
- requires:
144
- - gem-build
145
- context: artifact_publishing
382
+ ruby-version: ['3.2', '3.3']
383
+ gem-version: ['rails-7.1.3', 'rails-7.2.2', 'rails-8.0.2']
384
+ name: ruby_mvt_job-ruby-<< matrix.ruby-version >>-<< matrix.gem-version >>
385
+ cache-dependencies: true
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- super_spreader (0.2.1)
5
- activejob (>= 6.1, < 8.0)
6
- activemodel (>= 6.1, < 8.0)
7
- activerecord (>= 6.1, < 8.0)
8
- activesupport (>= 6.1, < 8.0)
4
+ super_spreader (0.3.0)
5
+ activejob (>= 6.1, < 9.0)
6
+ activemodel (>= 6.1, < 9.0)
7
+ activerecord (>= 6.1, < 9.0)
8
+ activesupport (>= 6.1, < 9.0)
9
9
  redis (>= 4.8, < 6.0)
10
10
 
11
11
  GEM
@@ -82,7 +82,7 @@ GEM
82
82
  mini_portile2 (2.8.5)
83
83
  minitest (5.20.0)
84
84
  nenv (0.3.0)
85
- nokogiri (1.15.4)
85
+ nokogiri (1.16.2)
86
86
  mini_portile2 (~> 2.8.2)
87
87
  racc (~> 1.4)
88
88
  notiffany (0.1.3)
@@ -164,7 +164,7 @@ GEM
164
164
  rubocop-ast (>= 0.4.0)
165
165
  ruby-progressbar (1.13.0)
166
166
  shellany (0.0.1)
167
- sqlite3 (1.6.8)
167
+ sqlite3 (1.7.3)
168
168
  mini_portile2 (~> 2.8.0)
169
169
  standard (1.32.0)
170
170
  language_server-protocol (~> 3.17.0.2)
@@ -204,4 +204,4 @@ DEPENDENCIES
204
204
  yard
205
205
 
206
206
  BUNDLED WITH
207
- 2.1.4
207
+ 2.5.5
data/README.md CHANGED
@@ -211,7 +211,7 @@ For Rails, please set up SuperSpreader using an initializer:
211
211
  # config/initializers/super_spreader.rb
212
212
 
213
213
  SuperSpreader.logger = Rails.logger
214
- SuperSpreader.redis = Redis.new(url: ENV["REDIS_URL"])
214
+ SuperSpreader.redis = Redis.new(url: ENV.fetch("REDIS_URL"))
215
215
  ```
216
216
 
217
217
  ## Roadmap
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SuperSpreader
4
- VERSION = "0.2.1"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -27,10 +27,12 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = []
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency "activejob", ">= 6.1", "< 8.0"
31
- spec.add_dependency "activemodel", ">= 6.1", "< 8.0"
32
- spec.add_dependency "activerecord", ">= 6.1", "< 8.0"
33
- spec.add_dependency "activesupport", ">= 6.1", "< 8.0"
30
+ spec.required_ruby_version = '>= 3.1.0'
31
+
32
+ spec.add_dependency "activejob", ">= 6.1", "< 9.0"
33
+ spec.add_dependency "activemodel", ">= 6.1", "< 9.0"
34
+ spec.add_dependency "activerecord", ">= 6.1", "< 9.0"
35
+ spec.add_dependency "activesupport", ">= 6.1", "< 9.0"
34
36
  spec.add_dependency "redis", ">= 4.8", "< 6.0"
35
37
  spec.add_development_dependency "bundler"
36
38
  spec.add_development_dependency "factory_bot"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super_spreader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Oakes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-01 00:00:00.000000000 Z
11
+ date: 2025-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '6.1'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '8.0'
22
+ version: '9.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '6.1'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '8.0'
32
+ version: '9.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activemodel
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '6.1'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '8.0'
42
+ version: '9.0'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '6.1'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '8.0'
52
+ version: '9.0'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: activerecord
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,7 @@ dependencies:
59
59
  version: '6.1'
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: '8.0'
62
+ version: '9.0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ dependencies:
69
69
  version: '6.1'
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: '8.0'
72
+ version: '9.0'
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: activesupport
75
75
  requirement: !ruby/object:Gem::Requirement
@@ -79,7 +79,7 @@ dependencies:
79
79
  version: '6.1'
80
80
  - - "<"
81
81
  - !ruby/object:Gem::Version
82
- version: '8.0'
82
+ version: '9.0'
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
@@ -89,7 +89,7 @@ dependencies:
89
89
  version: '6.1'
90
90
  - - "<"
91
91
  - !ruby/object:Gem::Version
92
- version: '8.0'
92
+ version: '9.0'
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: redis
95
95
  requirement: !ruby/object:Gem::Requirement
@@ -291,7 +291,6 @@ files:
291
291
  - ".gitignore"
292
292
  - ".rspec"
293
293
  - ".ruby-version"
294
- - ".travis.yml"
295
294
  - CHANGELOG.md
296
295
  - CONTRIBUTING.md
297
296
  - Gemfile
@@ -328,7 +327,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
328
327
  requirements:
329
328
  - - ">="
330
329
  - !ruby/object:Gem::Version
331
- version: '0'
330
+ version: 3.1.0
332
331
  required_rubygems_version: !ruby/object:Gem::Requirement
333
332
  requirements:
334
333
  - - ">="
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6.8
7
- before_install: gem install bundler -v 1.17.2