modis 4.0.0 → 4.1.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 +4 -4
- data/.github/workflows/test.yml +67 -0
- data/.github_changelog_generator +3 -0
- data/.rubocop.yml +23 -6
- data/.ruby-version +1 -1
- data/Appraisals +10 -15
- data/CHANGELOG.md +137 -23
- data/Gemfile.lock +88 -32
- data/README.md +0 -1
- data/Rakefile +2 -2
- data/gemfiles/rails_7.0.gemfile +8 -0
- data/lib/modis/finder.rb +9 -4
- data/lib/modis/index.rb +2 -2
- data/lib/modis/persistence.rb +15 -14
- data/lib/modis/transaction.rb +1 -1
- data/lib/modis/version.rb +1 -1
- data/lib/tasks/quality.rake +1 -1
- data/modis.gemspec +3 -2
- data/spec/finder_spec.rb +1 -1
- data/spec/persistence_spec.rb +2 -2
- data/spec/spec_helper.rb +3 -1
- data/spec/support/simplecov_helper.rb +1 -1
- metadata +28 -6
- data/.travis.yml +0 -42
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d3cc18ebd9e13700435d34434b57d52b10eea6b6af111458db728c58ef132d7f
|
|
4
|
+
data.tar.gz: 77010b2ca7a9edf776064a2d94f0c1e311af46263f9419b169afb157f78c4c48
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dec75991005c6e245aff2f49150c76fafac0c65cc4523a4de814938e8de3e39b8baed59e5338e4759a9978ac1967c765be90aecdd1b5cc99a050b96bd0561512
|
|
7
|
+
data.tar.gz: acff0628d95b28918f1329e1cd325031561da7635ae73619e822902f794b33a0314e104db801b8bd22cdec2e588a01fb2cbe97d1bec81316255df911b13f73ca
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ master ]
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
CI: "true"
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
test:
|
|
14
|
+
runs-on: ubuntu-22.04
|
|
15
|
+
|
|
16
|
+
services:
|
|
17
|
+
redis:
|
|
18
|
+
image: redis
|
|
19
|
+
options: >-
|
|
20
|
+
--health-cmd "redis-cli ping"
|
|
21
|
+
--health-interval 10s
|
|
22
|
+
--health-timeout 5s
|
|
23
|
+
--health-retries 5
|
|
24
|
+
ports:
|
|
25
|
+
# Maps port 6379 on service container to the host
|
|
26
|
+
- 6379:6379
|
|
27
|
+
|
|
28
|
+
strategy:
|
|
29
|
+
matrix:
|
|
30
|
+
gemfile: ['rails_5.2', 'rails_6.0', 'rails_6.1', 'rails_7.0']
|
|
31
|
+
|
|
32
|
+
ruby: ['2.4', '2.5', '2.6', '2.7', '3.0', '3.1']
|
|
33
|
+
|
|
34
|
+
exclude:
|
|
35
|
+
# Rails 5.2 requires Ruby < 3.0
|
|
36
|
+
# https://github.com/rails/rails/issues/40938
|
|
37
|
+
- ruby: '3.0'
|
|
38
|
+
gemfile: 'rails_5.2'
|
|
39
|
+
- ruby: '3.1'
|
|
40
|
+
gemfile: 'rails_5.2'
|
|
41
|
+
# Rails >= 6 requires Ruby >= 2.5
|
|
42
|
+
- ruby: '2.4'
|
|
43
|
+
gemfile: 'rails_6.0'
|
|
44
|
+
- ruby: '2.4'
|
|
45
|
+
gemfile: 'rails_6.1'
|
|
46
|
+
# Rails >= 7 requires Ruby >= 2.7
|
|
47
|
+
- ruby: '2.4'
|
|
48
|
+
gemfile: 'rails_7.0'
|
|
49
|
+
- ruby: '2.5'
|
|
50
|
+
gemfile: 'rails_7.0'
|
|
51
|
+
- ruby: '2.6'
|
|
52
|
+
gemfile: 'rails_7.0'
|
|
53
|
+
|
|
54
|
+
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
|
|
55
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
|
56
|
+
|
|
57
|
+
steps:
|
|
58
|
+
- uses: actions/checkout@v2
|
|
59
|
+
|
|
60
|
+
- name: Set up Ruby
|
|
61
|
+
uses: ruby/setup-ruby@v1
|
|
62
|
+
with:
|
|
63
|
+
ruby-version: ${{ matrix.ruby }}
|
|
64
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
65
|
+
|
|
66
|
+
- name: Run tests
|
|
67
|
+
run: bundle exec rake
|
data/.rubocop.yml
CHANGED
|
@@ -3,23 +3,24 @@ AllCops:
|
|
|
3
3
|
- modis.gemspec
|
|
4
4
|
- vendor/**/*
|
|
5
5
|
- gemfiles/**/*
|
|
6
|
+
TargetRubyVersion: 2.3
|
|
6
7
|
|
|
7
|
-
LineLength:
|
|
8
|
+
Layout/LineLength:
|
|
8
9
|
Enabled: false
|
|
9
10
|
|
|
10
|
-
StringLiterals:
|
|
11
|
+
Style/StringLiterals:
|
|
11
12
|
Enabled: false
|
|
12
13
|
|
|
13
|
-
Documentation:
|
|
14
|
+
Style/Documentation:
|
|
14
15
|
Enabled: false
|
|
15
16
|
|
|
16
|
-
MethodLength:
|
|
17
|
+
Metrics/MethodLength:
|
|
17
18
|
Enabled: false
|
|
18
19
|
|
|
19
|
-
ClassLength:
|
|
20
|
+
Metrics/ClassLength:
|
|
20
21
|
Enabled: false
|
|
21
22
|
|
|
22
|
-
CyclomaticComplexity:
|
|
23
|
+
Metrics/CyclomaticComplexity:
|
|
23
24
|
Enabled: false
|
|
24
25
|
|
|
25
26
|
Style/SignalException:
|
|
@@ -42,3 +43,19 @@ Metrics/BlockLength:
|
|
|
42
43
|
|
|
43
44
|
Security/YAMLLoad:
|
|
44
45
|
Enabled: false
|
|
46
|
+
|
|
47
|
+
Lint/RaiseException:
|
|
48
|
+
Enabled: true
|
|
49
|
+
|
|
50
|
+
Lint/StructNewOverride:
|
|
51
|
+
Enabled: true
|
|
52
|
+
|
|
53
|
+
Style/HashEachMethods:
|
|
54
|
+
Enabled: true
|
|
55
|
+
|
|
56
|
+
Style/HashTransformKeys:
|
|
57
|
+
Enabled: true
|
|
58
|
+
|
|
59
|
+
Style/HashTransformValues:
|
|
60
|
+
Enabled: true
|
|
61
|
+
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.1.3
|
data/Appraisals
CHANGED
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
appraise 'rails-4.2' do
|
|
4
|
-
gem 'activemodel', '~> 4.2.0'
|
|
5
|
-
gem 'activesupport', '~> 4.2.0'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
appraise 'rails-5.0' do
|
|
9
|
-
gem 'activemodel', '~> 5.0.0'
|
|
10
|
-
gem 'activesupport', '~> 5.0.0'
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
appraise 'rails-5.1' do
|
|
14
|
-
gem 'activemodel', '~> 5.1.0'
|
|
15
|
-
gem 'activesupport', '~> 5.1.0'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
3
|
appraise 'rails-5.2' do
|
|
19
4
|
gem 'activemodel', '~> 5.2.0'
|
|
20
5
|
gem 'activesupport', '~> 5.2.0'
|
|
@@ -24,3 +9,13 @@ appraise 'rails-6.0' do
|
|
|
24
9
|
gem 'activemodel', '~> 6.0.0'
|
|
25
10
|
gem 'activesupport', '~> 6.0.0'
|
|
26
11
|
end
|
|
12
|
+
|
|
13
|
+
appraise 'rails-6.1' do
|
|
14
|
+
gem 'activemodel', '~> 6.1.0'
|
|
15
|
+
gem 'activesupport', '~> 6.1.0'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
appraise 'rails-7.0' do
|
|
19
|
+
gem 'activemodel', '~> 7.0.0'
|
|
20
|
+
gem 'activesupport', '~> 7.0.0'
|
|
21
|
+
end
|
data/CHANGELOG.md
CHANGED
|
@@ -1,38 +1,152 @@
|
|
|
1
|
-
|
|
1
|
+
# Changelog
|
|
2
2
|
|
|
3
|
-
## v4.0.0 -
|
|
3
|
+
## [v4.1.0](https://github.com/rpush/modis/tree/v4.1.0) (2023-02-01)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v4.0.1...v4.1.0)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- Removed `hiredis` as a dependency and made it a development dependency.
|
|
9
|
-
For details, see [#31](https://github.com/rpush/modis/pull/31) by [@fdoxyz](https://github.com/fdoxyz).
|
|
7
|
+
**Closed issues:**
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
- Migrate CI to GitHub Actions, add testing for Rails 7.0 and Ruby 3.1 [\#33](https://github.com/rpush/modis/issues/33)
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
**Merged pull requests:**
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
- Upgrades to latest activesupport [\#44](https://github.com/rpush/modis/pull/44) ([benlangfeld](https://github.com/benlangfeld))
|
|
14
|
+
- Switch from Travis CI to GH actions [\#42](https://github.com/rpush/modis/pull/42) ([benlangfeld](https://github.com/benlangfeld))
|
|
15
|
+
- Flexible encoding [\#41](https://github.com/rpush/modis/pull/41) ([benlangfeld](https://github.com/benlangfeld))
|
|
16
|
+
- Compatibility with redis 4.8.x gem [\#40](https://github.com/rpush/modis/pull/40) ([benlangfeld](https://github.com/benlangfeld))
|
|
17
|
+
- Compatibility with redis 4.7.x gem [\#39](https://github.com/rpush/modis/pull/39) ([benlangfeld](https://github.com/benlangfeld))
|
|
18
|
+
- More modern ruby for local dev [\#37](https://github.com/rpush/modis/pull/37) ([benlangfeld](https://github.com/benlangfeld))
|
|
19
|
+
- Don't allow redis \> 4.6 yet [\#36](https://github.com/rpush/modis/pull/36) ([benlangfeld](https://github.com/benlangfeld))
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
## [v4.0.1](https://github.com/rpush/modis/tree/v4.0.1) (2022-03-02)
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v4.0.0...v4.0.1)
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
- Drop i18n dependency (credit goes to [@jas14](https://github.com/jas14) in [#23](https://github.com/rpush/modis/pull/23))
|
|
25
|
+
**Merged pull requests:**
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
- Fix deprectated pipeline calls for Redis 4.6.0 [\#32](https://github.com/rpush/modis/pull/32) ([justinhoward](https://github.com/justinhoward))
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
- Add support for Rails 5.2
|
|
28
|
-
- Resolve Rubocop lint violations
|
|
29
|
-
- Test combinations of Ruby and Rails versions in CI
|
|
29
|
+
## [v4.0.0](https://github.com/rpush/modis/tree/v4.0.0) (2021-04-28)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v3.3.0...v4.0.0)
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
**Closed issues:**
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
- remove hiredis dependency [\#15](https://github.com/rpush/modis/issues/15)
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
**Merged pull requests:**
|
|
38
|
+
|
|
39
|
+
- Makes hiredis a development dependency [\#31](https://github.com/rpush/modis/pull/31) ([fdocr](https://github.com/fdocr))
|
|
40
|
+
|
|
41
|
+
## [v3.3.0](https://github.com/rpush/modis/tree/v3.3.0) (2020-07-07)
|
|
42
|
+
|
|
43
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v3.2.0...v3.3.0)
|
|
44
|
+
|
|
45
|
+
**Merged pull requests:**
|
|
46
|
+
|
|
47
|
+
- Fix deprecation warnings [\#30](https://github.com/rpush/modis/pull/30) ([rofreg](https://github.com/rofreg))
|
|
48
|
+
- Test with Ruby 2.7 [\#28](https://github.com/rpush/modis/pull/28) ([aried3r](https://github.com/aried3r))
|
|
49
|
+
|
|
50
|
+
## [v3.2.0](https://github.com/rpush/modis/tree/v3.2.0) (2019-12-12)
|
|
51
|
+
|
|
52
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v3.1.0...v3.2.0)
|
|
53
|
+
|
|
54
|
+
**Merged pull requests:**
|
|
55
|
+
|
|
56
|
+
- Add missing `#update` and `#update!` persistance methods [\#27](https://github.com/rpush/modis/pull/27) ([dsantosmerino](https://github.com/dsantosmerino))
|
|
57
|
+
|
|
58
|
+
## [v3.1.0](https://github.com/rpush/modis/tree/v3.1.0) (2019-10-18)
|
|
59
|
+
|
|
60
|
+
[Full Changelog](https://github.com/rpush/modis/compare/3.0.0...v3.1.0)
|
|
61
|
+
|
|
62
|
+
**Closed issues:**
|
|
63
|
+
|
|
64
|
+
- Add testing for Rails 6 [\#24](https://github.com/rpush/modis/issues/24)
|
|
65
|
+
- Modis Memory Leak [\#14](https://github.com/rpush/modis/issues/14)
|
|
66
|
+
- Support of Rails 5.2 [\#13](https://github.com/rpush/modis/issues/13)
|
|
67
|
+
|
|
68
|
+
**Merged pull requests:**
|
|
69
|
+
|
|
70
|
+
- Remove i18n dependency [\#26](https://github.com/rpush/modis/pull/26) ([aried3r](https://github.com/aried3r))
|
|
71
|
+
- Test with Rails 6, Ubuntu 18.04, Ruby 2.6 [\#25](https://github.com/rpush/modis/pull/25) ([aried3r](https://github.com/aried3r))
|
|
72
|
+
- Fix build status badge [\#22](https://github.com/rpush/modis/pull/22) ([jas14](https://github.com/jas14))
|
|
73
|
+
|
|
74
|
+
## [3.0.0](https://github.com/rpush/modis/tree/3.0.0) (2018-12-20)
|
|
75
|
+
|
|
76
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v2.1.0...3.0.0)
|
|
77
|
+
|
|
78
|
+
**Closed issues:**
|
|
79
|
+
|
|
80
|
+
- difficult to persist after making changes to part of a hash attribute [\#8](https://github.com/rpush/modis/issues/8)
|
|
81
|
+
|
|
82
|
+
**Merged pull requests:**
|
|
83
|
+
|
|
84
|
+
- Prep 3.0.0 release [\#21](https://github.com/rpush/modis/pull/21) ([garettarrowood](https://github.com/garettarrowood))
|
|
85
|
+
- Lock i18n version [\#20](https://github.com/rpush/modis/pull/20) ([garettarrowood](https://github.com/garettarrowood))
|
|
86
|
+
- Compatability with Rails 5.2's ActiveModel::Dirty [\#19](https://github.com/rpush/modis/pull/19) ([benlangfeld](https://github.com/benlangfeld))
|
|
87
|
+
- Resolve rubocop violations and lock version [\#17](https://github.com/rpush/modis/pull/17) ([garettarrowood](https://github.com/garettarrowood))
|
|
88
|
+
- Fix CI failures by resolving RuboCop offenses [\#12](https://github.com/rpush/modis/pull/12) ([garettarrowood](https://github.com/garettarrowood))
|
|
89
|
+
- get rid of old school rocket syntax [\#11](https://github.com/rpush/modis/pull/11) ([DmytroStepaniuk](https://github.com/DmytroStepaniuk))
|
|
90
|
+
- fix wrong readme example [\#10](https://github.com/rpush/modis/pull/10) ([DmytroStepaniuk](https://github.com/DmytroStepaniuk))
|
|
91
|
+
|
|
92
|
+
## [v2.1.0](https://github.com/rpush/modis/tree/v2.1.0) (2017-06-24)
|
|
93
|
+
|
|
94
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v1.4.2...v2.1.0)
|
|
95
|
+
|
|
96
|
+
**Closed issues:**
|
|
97
|
+
|
|
98
|
+
- Reason of :all index [\#6](https://github.com/rpush/modis/issues/6)
|
|
99
|
+
|
|
100
|
+
**Merged pull requests:**
|
|
101
|
+
|
|
102
|
+
- New option for Modis::Model - :enable\_all\_index [\#7](https://github.com/rpush/modis/pull/7) ([nattfodd](https://github.com/nattfodd))
|
|
103
|
+
|
|
104
|
+
## [v1.4.2](https://github.com/rpush/modis/tree/v1.4.2) (2017-06-05)
|
|
105
|
+
|
|
106
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v2.0.0...v1.4.2)
|
|
107
|
+
|
|
108
|
+
## [v2.0.0](https://github.com/rpush/modis/tree/v2.0.0) (2017-05-25)
|
|
109
|
+
|
|
110
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v1.4.1...v2.0.0)
|
|
111
|
+
|
|
112
|
+
**Closed issues:**
|
|
113
|
+
|
|
114
|
+
- Drop support for Ruby \<= 2.1 [\#4](https://github.com/rpush/modis/issues/4)
|
|
115
|
+
- Spec errors in new optimizations [\#1](https://github.com/rpush/modis/issues/1)
|
|
116
|
+
|
|
117
|
+
**Merged pull requests:**
|
|
118
|
+
|
|
119
|
+
- Improvements [\#5](https://github.com/rpush/modis/pull/5) ([Tonkpils](https://github.com/Tonkpils))
|
|
120
|
+
- Support for Ruby 2.4.1 [\#3](https://github.com/rpush/modis/pull/3) ([Tonkpils](https://github.com/Tonkpils))
|
|
121
|
+
|
|
122
|
+
## [v1.4.1](https://github.com/rpush/modis/tree/v1.4.1) (2015-01-20)
|
|
123
|
+
|
|
124
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v1.4.0...v1.4.1)
|
|
125
|
+
|
|
126
|
+
## [v1.4.0](https://github.com/rpush/modis/tree/v1.4.0) (2015-01-13)
|
|
127
|
+
|
|
128
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v1.3.0...v1.4.0)
|
|
129
|
+
|
|
130
|
+
## [v1.3.0](https://github.com/rpush/modis/tree/v1.3.0) (2014-09-01)
|
|
131
|
+
|
|
132
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v1.2.0...v1.3.0)
|
|
133
|
+
|
|
134
|
+
## [v1.2.0](https://github.com/rpush/modis/tree/v1.2.0) (2014-09-01)
|
|
135
|
+
|
|
136
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v1.1.0...v1.2.0)
|
|
137
|
+
|
|
138
|
+
## [v1.1.0](https://github.com/rpush/modis/tree/v1.1.0) (2014-07-09)
|
|
139
|
+
|
|
140
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v1.0.0...v1.1.0)
|
|
141
|
+
|
|
142
|
+
## [v1.0.0](https://github.com/rpush/modis/tree/v1.0.0) (2014-06-22)
|
|
143
|
+
|
|
144
|
+
[Full Changelog](https://github.com/rpush/modis/compare/v0.0.1...v1.0.0)
|
|
145
|
+
|
|
146
|
+
## [v0.0.1](https://github.com/rpush/modis/tree/v0.0.1) (2014-04-20)
|
|
147
|
+
|
|
148
|
+
[Full Changelog](https://github.com/rpush/modis/compare/a42bf2ff8e233a52ce1fb4fd3120f21cec8bee1c...v0.0.1)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/Gemfile.lock
CHANGED
|
@@ -1,50 +1,101 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
modis (4.
|
|
4
|
+
modis (4.1.0)
|
|
5
5
|
activemodel (>= 5.2)
|
|
6
6
|
activesupport (>= 5.2)
|
|
7
7
|
connection_pool (>= 2)
|
|
8
8
|
msgpack (>= 0.5)
|
|
9
|
-
redis (>= 3.0)
|
|
9
|
+
redis (>= 3.0, < 5.0)
|
|
10
10
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
activemodel (
|
|
15
|
-
activesupport (=
|
|
16
|
-
activesupport (
|
|
14
|
+
activemodel (7.0.4.2)
|
|
15
|
+
activesupport (= 7.0.4.2)
|
|
16
|
+
activesupport (7.0.4.2)
|
|
17
17
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
18
|
-
i18n (>=
|
|
19
|
-
minitest (
|
|
20
|
-
tzinfo (~>
|
|
21
|
-
|
|
18
|
+
i18n (>= 1.6, < 2)
|
|
19
|
+
minitest (>= 5.1)
|
|
20
|
+
tzinfo (~> 2.0)
|
|
21
|
+
addressable (2.8.1)
|
|
22
|
+
public_suffix (>= 2.0.2, < 6.0)
|
|
22
23
|
appraisal (2.3.0)
|
|
23
24
|
bundler
|
|
24
25
|
rake
|
|
25
26
|
thor (>= 0.14.0)
|
|
26
|
-
ast (2.4.
|
|
27
|
+
ast (2.4.2)
|
|
28
|
+
async (2.3.1)
|
|
29
|
+
console (~> 1.10)
|
|
30
|
+
io-event (~> 1.1)
|
|
31
|
+
timers (~> 4.1)
|
|
32
|
+
async-http (0.59.5)
|
|
33
|
+
async (>= 1.25)
|
|
34
|
+
async-io (>= 1.28)
|
|
35
|
+
async-pool (>= 0.2)
|
|
36
|
+
protocol-http (~> 0.23)
|
|
37
|
+
protocol-http1 (~> 0.14.0)
|
|
38
|
+
protocol-http2 (~> 0.14.0)
|
|
39
|
+
traces (>= 0.8.0)
|
|
40
|
+
async-http-faraday (0.11.0)
|
|
41
|
+
async-http (~> 0.42)
|
|
42
|
+
faraday
|
|
43
|
+
async-io (1.34.3)
|
|
44
|
+
async
|
|
45
|
+
async-pool (0.3.12)
|
|
46
|
+
async (>= 1.25)
|
|
27
47
|
cane (3.0.0)
|
|
28
48
|
parallel
|
|
29
49
|
codeclimate-test-reporter (1.0.7)
|
|
30
50
|
simplecov
|
|
31
|
-
concurrent-ruby (1.
|
|
32
|
-
connection_pool (2.
|
|
51
|
+
concurrent-ruby (1.2.0)
|
|
52
|
+
connection_pool (2.3.0)
|
|
53
|
+
console (1.16.2)
|
|
54
|
+
fiber-local
|
|
33
55
|
diff-lcs (1.4.4)
|
|
34
56
|
docile (1.3.2)
|
|
57
|
+
faraday (2.7.4)
|
|
58
|
+
faraday-net_http (>= 2.0, < 3.1)
|
|
59
|
+
ruby2_keywords (>= 0.0.4)
|
|
60
|
+
faraday-http-cache (2.4.1)
|
|
61
|
+
faraday (>= 0.8)
|
|
62
|
+
faraday-net_http (3.0.2)
|
|
63
|
+
fiber-local (1.0.0)
|
|
64
|
+
github_changelog_generator (1.16.4)
|
|
65
|
+
activesupport
|
|
66
|
+
async (>= 1.25.0)
|
|
67
|
+
async-http-faraday
|
|
68
|
+
faraday-http-cache
|
|
69
|
+
multi_json
|
|
70
|
+
octokit (~> 4.6)
|
|
71
|
+
rainbow (>= 2.2.1)
|
|
72
|
+
rake (>= 10.0)
|
|
35
73
|
hiredis (0.6.3)
|
|
36
|
-
i18n (1.
|
|
74
|
+
i18n (1.12.0)
|
|
37
75
|
concurrent-ruby (~> 1.0)
|
|
76
|
+
io-event (1.1.6)
|
|
38
77
|
jaro_winkler (1.5.4)
|
|
39
|
-
minitest (5.
|
|
40
|
-
msgpack (1.
|
|
41
|
-
|
|
42
|
-
|
|
78
|
+
minitest (5.17.0)
|
|
79
|
+
msgpack (1.6.0)
|
|
80
|
+
multi_json (1.15.0)
|
|
81
|
+
octokit (4.25.1)
|
|
82
|
+
faraday (>= 1, < 3)
|
|
83
|
+
sawyer (~> 0.9)
|
|
84
|
+
parallel (1.20.1)
|
|
85
|
+
parser (3.0.1.0)
|
|
43
86
|
ast (~> 2.4.1)
|
|
44
|
-
|
|
87
|
+
protocol-hpack (1.4.2)
|
|
88
|
+
protocol-http (0.24.0)
|
|
89
|
+
protocol-http1 (0.14.6)
|
|
90
|
+
protocol-http (~> 0.22)
|
|
91
|
+
protocol-http2 (0.14.2)
|
|
92
|
+
protocol-hpack (~> 1.4)
|
|
93
|
+
protocol-http (~> 0.18)
|
|
94
|
+
public_suffix (5.0.1)
|
|
45
95
|
rainbow (3.0.0)
|
|
46
96
|
rake (13.0.1)
|
|
47
|
-
redis (4.
|
|
97
|
+
redis (4.8.0)
|
|
98
|
+
rexml (3.2.5)
|
|
48
99
|
rspec (3.9.0)
|
|
49
100
|
rspec-core (~> 3.9.0)
|
|
50
101
|
rspec-expectations (~> 3.9.0)
|
|
@@ -58,25 +109,29 @@ GEM
|
|
|
58
109
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
59
110
|
rspec-support (~> 3.9.0)
|
|
60
111
|
rspec-support (3.9.3)
|
|
61
|
-
rubocop (0.
|
|
112
|
+
rubocop (0.81.0)
|
|
62
113
|
jaro_winkler (~> 1.5.1)
|
|
63
114
|
parallel (~> 1.10)
|
|
64
|
-
parser (>= 2.
|
|
65
|
-
powerpack (~> 0.1)
|
|
115
|
+
parser (>= 2.7.0.1)
|
|
66
116
|
rainbow (>= 2.2.2, < 4.0)
|
|
117
|
+
rexml
|
|
67
118
|
ruby-progressbar (~> 1.7)
|
|
68
|
-
unicode-display_width (
|
|
69
|
-
ruby-progressbar (1.
|
|
119
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
|
120
|
+
ruby-progressbar (1.11.0)
|
|
121
|
+
ruby2_keywords (0.0.5)
|
|
122
|
+
sawyer (0.9.2)
|
|
123
|
+
addressable (>= 2.3.5)
|
|
124
|
+
faraday (>= 0.17.3, < 3)
|
|
70
125
|
simplecov (0.18.5)
|
|
71
126
|
docile (~> 1.1)
|
|
72
127
|
simplecov-html (~> 0.11)
|
|
73
|
-
simplecov-html (0.12.
|
|
128
|
+
simplecov-html (0.12.3)
|
|
74
129
|
thor (1.0.1)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
130
|
+
timers (4.3.5)
|
|
131
|
+
traces (0.8.0)
|
|
132
|
+
tzinfo (2.0.6)
|
|
133
|
+
concurrent-ruby (~> 1.0)
|
|
134
|
+
unicode-display_width (1.7.0)
|
|
80
135
|
|
|
81
136
|
PLATFORMS
|
|
82
137
|
ruby
|
|
@@ -85,12 +140,13 @@ DEPENDENCIES
|
|
|
85
140
|
appraisal
|
|
86
141
|
cane
|
|
87
142
|
codeclimate-test-reporter
|
|
143
|
+
github_changelog_generator
|
|
88
144
|
hiredis (>= 0.5)
|
|
89
145
|
modis!
|
|
90
146
|
rake
|
|
91
147
|
rspec
|
|
92
|
-
rubocop (= 0.
|
|
148
|
+
rubocop (= 0.81.0)
|
|
93
149
|
simplecov
|
|
94
150
|
|
|
95
151
|
BUNDLED WITH
|
|
96
|
-
2.
|
|
152
|
+
2.2.21
|
data/README.md
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
[](https://travis-ci.org/rpush/modis)
|
|
2
1
|
[](https://codeclimate.com/github/ileitch/modis)
|
|
3
2
|
[](https://codeclimate.com/github/ileitch/modis)
|
|
4
3
|
|
data/Rakefile
CHANGED
|
@@ -10,9 +10,9 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
|
|
|
10
10
|
spec.rspec_opts = ['--backtrace']
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
if ENV['
|
|
13
|
+
if ENV['CI'] && ENV['QUALITY'] == 'false'
|
|
14
14
|
task default: 'spec'
|
|
15
|
-
elsif
|
|
15
|
+
elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ruby'
|
|
16
16
|
task default: 'spec:quality'
|
|
17
17
|
else
|
|
18
18
|
task default: 'spec'
|
data/lib/modis/finder.rb
CHANGED
|
@@ -20,8 +20,8 @@ module Modis
|
|
|
20
20
|
|
|
21
21
|
records = Modis.with_connection do |redis|
|
|
22
22
|
ids = redis.smembers(key_for(:all))
|
|
23
|
-
redis.pipelined do
|
|
24
|
-
ids.map { |id| record_for(
|
|
23
|
+
redis.pipelined do |pipeline|
|
|
24
|
+
ids.map { |id| record_for(pipeline, id) }
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
|
@@ -42,8 +42,13 @@ module Modis
|
|
|
42
42
|
raise RecordNotFound, "Couldn't find #{name} without an ID" if ids.empty?
|
|
43
43
|
|
|
44
44
|
records = Modis.with_connection do |redis|
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
if ids.count == 1
|
|
46
|
+
ids.map { |id| record_for(redis, id) }
|
|
47
|
+
else
|
|
48
|
+
redis.pipelined do |pipeline|
|
|
49
|
+
ids.map { |id| record_for(pipeline, id) }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
47
52
|
end
|
|
48
53
|
|
|
49
54
|
models = records_to_models(records)
|
data/lib/modis/index.rb
CHANGED
|
@@ -62,7 +62,7 @@ module Modis
|
|
|
62
62
|
|
|
63
63
|
indexed_attributes.each do |attribute|
|
|
64
64
|
key = index_key(attribute, read_attribute(attribute))
|
|
65
|
-
redis.sadd(key, id)
|
|
65
|
+
redis.sadd(key, [id])
|
|
66
66
|
end
|
|
67
67
|
end
|
|
68
68
|
|
|
@@ -71,7 +71,7 @@ module Modis
|
|
|
71
71
|
|
|
72
72
|
indexed_attributes.each do |attribute|
|
|
73
73
|
key = index_key(attribute, read_attribute(attribute))
|
|
74
|
-
redis.srem(key, id)
|
|
74
|
+
redis.srem(key, [id])
|
|
75
75
|
end
|
|
76
76
|
end
|
|
77
77
|
|
data/lib/modis/persistence.rb
CHANGED
|
@@ -83,7 +83,8 @@ module Modis
|
|
|
83
83
|
|
|
84
84
|
def deserialize(record)
|
|
85
85
|
values = record.values
|
|
86
|
-
|
|
86
|
+
header = msgpack_array_header(values.size, values.first.encoding)
|
|
87
|
+
values = MessagePack.unpack(header + values.join)
|
|
87
88
|
keys = record.keys
|
|
88
89
|
values.each_with_index { |v, i| record[keys[i]] = v }
|
|
89
90
|
record
|
|
@@ -97,14 +98,14 @@ module Modis
|
|
|
97
98
|
|
|
98
99
|
private
|
|
99
100
|
|
|
100
|
-
def msgpack_array_header(values_size)
|
|
101
|
+
def msgpack_array_header(values_size, encoding)
|
|
101
102
|
if values_size < 16
|
|
102
103
|
[0x90 | values_size].pack("C")
|
|
103
104
|
elsif values_size < 65536
|
|
104
105
|
[0xDC, values_size].pack("Cn")
|
|
105
106
|
else
|
|
106
107
|
[0xDD, values_size].pack("CN")
|
|
107
|
-
end.force_encoding(
|
|
108
|
+
end.force_encoding(encoding)
|
|
108
109
|
end
|
|
109
110
|
end
|
|
110
111
|
|
|
@@ -135,13 +136,13 @@ module Modis
|
|
|
135
136
|
def destroy
|
|
136
137
|
self.class.transaction do |redis|
|
|
137
138
|
run_callbacks :destroy do
|
|
138
|
-
redis.pipelined do
|
|
139
|
-
remove_from_indexes(
|
|
139
|
+
redis.pipelined do |pipeline|
|
|
140
|
+
remove_from_indexes(pipeline)
|
|
140
141
|
if self.class.all_index_enabled?
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
pipeline.srem(self.class.key_for(:all), [id])
|
|
143
|
+
pipeline.srem(self.class.sti_base_key_for(:all), [id]) if self.class.sti_child?
|
|
143
144
|
end
|
|
144
|
-
|
|
145
|
+
pipeline.del(key)
|
|
145
146
|
end
|
|
146
147
|
end
|
|
147
148
|
end
|
|
@@ -210,19 +211,19 @@ module Modis
|
|
|
210
211
|
self.class.transaction do |redis|
|
|
211
212
|
run_callbacks :save do
|
|
212
213
|
run_callbacks callback do
|
|
213
|
-
redis.pipelined do
|
|
214
|
+
redis.pipelined do |pipeline|
|
|
214
215
|
attrs = coerced_attributes
|
|
215
216
|
key = self.class.sti_child? ? self.class.sti_base_key_for(id) : self.class.key_for(id)
|
|
216
|
-
future = attrs.any? ?
|
|
217
|
+
future = attrs.any? ? pipeline.hmset(key, attrs) : :unchanged
|
|
217
218
|
|
|
218
219
|
if new_record?
|
|
219
220
|
if self.class.all_index_enabled?
|
|
220
|
-
|
|
221
|
-
|
|
221
|
+
pipeline.sadd(self.class.key_for(:all), [id])
|
|
222
|
+
pipeline.sadd(self.class.sti_base_key_for(:all), [id]) if self.class.sti_child?
|
|
222
223
|
end
|
|
223
|
-
add_to_indexes(
|
|
224
|
+
add_to_indexes(pipeline)
|
|
224
225
|
else
|
|
225
|
-
update_indexes(
|
|
226
|
+
update_indexes(pipeline)
|
|
226
227
|
end
|
|
227
228
|
end
|
|
228
229
|
end
|
data/lib/modis/transaction.rb
CHANGED
data/lib/modis/version.rb
CHANGED
data/lib/tasks/quality.rake
CHANGED
data/modis.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |gem|
|
|
|
22
22
|
|
|
23
23
|
gem.add_runtime_dependency 'activemodel', '>= 5.2'
|
|
24
24
|
gem.add_runtime_dependency 'activesupport', '>= 5.2'
|
|
25
|
-
gem.add_runtime_dependency 'redis', '>= 3.0'
|
|
25
|
+
gem.add_runtime_dependency 'redis', '>= 3.0', '< 5.0'
|
|
26
26
|
gem.add_runtime_dependency 'connection_pool', '>= 2'
|
|
27
27
|
|
|
28
28
|
if defined? JRUBY_VERSION
|
|
@@ -37,7 +37,8 @@ Gem::Specification.new do |gem|
|
|
|
37
37
|
gem.add_development_dependency 'rspec'
|
|
38
38
|
gem.add_development_dependency 'codeclimate-test-reporter'
|
|
39
39
|
gem.add_development_dependency 'cane'
|
|
40
|
-
gem.add_development_dependency 'rubocop', '0.
|
|
40
|
+
gem.add_development_dependency 'rubocop', '0.81.0'
|
|
41
41
|
gem.add_development_dependency 'simplecov'
|
|
42
42
|
gem.add_development_dependency 'hiredis', '>= 0.5'
|
|
43
|
+
gem.add_development_dependency 'github_changelog_generator'
|
|
43
44
|
end
|
data/spec/finder_spec.rb
CHANGED
|
@@ -183,7 +183,7 @@ describe Modis::Finder do
|
|
|
183
183
|
it 'transparently upgrades old data' do
|
|
184
184
|
consumer = FindersSpec::Consumer.create!(name: 'Ian')
|
|
185
185
|
Modis.with_connection do |redis|
|
|
186
|
-
redis.srem(FindersSpec::Consumer.key_for(:all), consumer.id)
|
|
186
|
+
redis.srem(FindersSpec::Consumer.key_for(:all), [consumer.id])
|
|
187
187
|
end
|
|
188
188
|
expect(FindersSpec::Consumer.find(consumer.id)).to eq(consumer)
|
|
189
189
|
end
|
data/spec/persistence_spec.rb
CHANGED
|
@@ -112,7 +112,7 @@ describe Modis::Persistence do
|
|
|
112
112
|
it 'does not track the ID if the underlying Redis command failed' do
|
|
113
113
|
redis = double(hmset: double(value: nil), sadd: nil)
|
|
114
114
|
expect(model.class).to receive(:transaction).and_yield(redis)
|
|
115
|
-
expect(redis).to receive(:pipelined).and_yield
|
|
115
|
+
expect(redis).to receive(:pipelined).and_yield(redis)
|
|
116
116
|
model.save
|
|
117
117
|
expect { model.class.find(model.id) }.to raise_error(Modis::RecordNotFound)
|
|
118
118
|
end
|
|
@@ -136,7 +136,7 @@ describe Modis::Persistence do
|
|
|
136
136
|
redis = double
|
|
137
137
|
expect(redis).to receive(:hmset).with("modis:persistence_spec:mock_model:1", ["age", "\v"]).and_return(double(value: 'OK'))
|
|
138
138
|
expect(model.class).to receive(:transaction).and_yield(redis)
|
|
139
|
-
expect(redis).to receive(:pipelined).and_yield
|
|
139
|
+
expect(redis).to receive(:pipelined).and_yield(redis)
|
|
140
140
|
model.save!
|
|
141
141
|
expect(model.age).to eq(11)
|
|
142
142
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
unless ENV['
|
|
3
|
+
unless ENV['CI']
|
|
4
4
|
begin
|
|
5
5
|
require './spec/support/simplecov_helper'
|
|
6
6
|
include SimpleCovHelper # rubocop:disable Style/MixinUsage
|
|
@@ -12,6 +12,8 @@ end
|
|
|
12
12
|
|
|
13
13
|
require 'modis'
|
|
14
14
|
|
|
15
|
+
Redis.raise_deprecations = true if Gem.loaded_specs['redis'].version >= Gem::Version.new('4.6.0')
|
|
16
|
+
|
|
15
17
|
Modis.configure do |config|
|
|
16
18
|
config.namespace = 'modis'
|
|
17
19
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: modis
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ian Leitch
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-02-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -45,6 +45,9 @@ dependencies:
|
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '3.0'
|
|
48
|
+
- - "<"
|
|
49
|
+
- !ruby/object:Gem::Version
|
|
50
|
+
version: '5.0'
|
|
48
51
|
type: :runtime
|
|
49
52
|
prerelease: false
|
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +55,9 @@ dependencies:
|
|
|
52
55
|
- - ">="
|
|
53
56
|
- !ruby/object:Gem::Version
|
|
54
57
|
version: '3.0'
|
|
58
|
+
- - "<"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '5.0'
|
|
55
61
|
- !ruby/object:Gem::Dependency
|
|
56
62
|
name: connection_pool
|
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,14 +162,14 @@ dependencies:
|
|
|
156
162
|
requirements:
|
|
157
163
|
- - '='
|
|
158
164
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 0.
|
|
165
|
+
version: 0.81.0
|
|
160
166
|
type: :development
|
|
161
167
|
prerelease: false
|
|
162
168
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
169
|
requirements:
|
|
164
170
|
- - '='
|
|
165
171
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 0.
|
|
172
|
+
version: 0.81.0
|
|
167
173
|
- !ruby/object:Gem::Dependency
|
|
168
174
|
name: simplecov
|
|
169
175
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -192,6 +198,20 @@ dependencies:
|
|
|
192
198
|
- - ">="
|
|
193
199
|
- !ruby/object:Gem::Version
|
|
194
200
|
version: '0.5'
|
|
201
|
+
- !ruby/object:Gem::Dependency
|
|
202
|
+
name: github_changelog_generator
|
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
|
204
|
+
requirements:
|
|
205
|
+
- - ">="
|
|
206
|
+
- !ruby/object:Gem::Version
|
|
207
|
+
version: '0'
|
|
208
|
+
type: :development
|
|
209
|
+
prerelease: false
|
|
210
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
211
|
+
requirements:
|
|
212
|
+
- - ">="
|
|
213
|
+
- !ruby/object:Gem::Version
|
|
214
|
+
version: '0'
|
|
195
215
|
description: ActiveModel + Redis
|
|
196
216
|
email:
|
|
197
217
|
- port001@gmail.com
|
|
@@ -199,10 +219,11 @@ executables: []
|
|
|
199
219
|
extensions: []
|
|
200
220
|
extra_rdoc_files: []
|
|
201
221
|
files:
|
|
222
|
+
- ".github/workflows/test.yml"
|
|
223
|
+
- ".github_changelog_generator"
|
|
202
224
|
- ".gitignore"
|
|
203
225
|
- ".rubocop.yml"
|
|
204
226
|
- ".ruby-version"
|
|
205
|
-
- ".travis.yml"
|
|
206
227
|
- Appraisals
|
|
207
228
|
- CHANGELOG.md
|
|
208
229
|
- Gemfile
|
|
@@ -217,6 +238,7 @@ files:
|
|
|
217
238
|
- gemfiles/rails_5.2.gemfile
|
|
218
239
|
- gemfiles/rails_6.0.gemfile
|
|
219
240
|
- gemfiles/rails_6.1.gemfile
|
|
241
|
+
- gemfiles/rails_7.0.gemfile
|
|
220
242
|
- lib/modis.rb
|
|
221
243
|
- lib/modis/attribute.rb
|
|
222
244
|
- lib/modis/configuration.rb
|
|
@@ -258,7 +280,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
258
280
|
- !ruby/object:Gem::Version
|
|
259
281
|
version: '0'
|
|
260
282
|
requirements: []
|
|
261
|
-
rubygems_version: 3.
|
|
283
|
+
rubygems_version: 3.3.26
|
|
262
284
|
signing_key:
|
|
263
285
|
specification_version: 4
|
|
264
286
|
summary: ActiveModel + Redis
|
data/.travis.yml
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
|
|
3
|
-
dist: bionic
|
|
4
|
-
|
|
5
|
-
cache: bundler
|
|
6
|
-
|
|
7
|
-
services:
|
|
8
|
-
- redis-server
|
|
9
|
-
|
|
10
|
-
rvm:
|
|
11
|
-
- 2.3
|
|
12
|
-
- 2.4
|
|
13
|
-
- 2.5
|
|
14
|
-
- 2.6
|
|
15
|
-
- 2.7
|
|
16
|
-
- 3.0
|
|
17
|
-
- jruby-9.2.17.0
|
|
18
|
-
|
|
19
|
-
gemfile:
|
|
20
|
-
- gemfiles/rails_5.2.gemfile
|
|
21
|
-
- gemfiles/rails_6.0.gemfile
|
|
22
|
-
- gemfiles/rails_6.1.gemfile
|
|
23
|
-
|
|
24
|
-
matrix:
|
|
25
|
-
fast_finish: true
|
|
26
|
-
exclude:
|
|
27
|
-
# Rails 6 requires Ruby 2.5 or higher
|
|
28
|
-
- gemfile: gemfiles/rails_6.0.gemfile
|
|
29
|
-
rvm: 2.3
|
|
30
|
-
- gemfile: gemfiles/rails_6.1.gemfile
|
|
31
|
-
rvm: 2.3
|
|
32
|
-
- gemfile: gemfiles/rails_6.0.gemfile
|
|
33
|
-
rvm: 2.4
|
|
34
|
-
- gemfile: gemfiles/rails_6.1.gemfile
|
|
35
|
-
rvm: 2.4
|
|
36
|
-
# Rails 5.2 isn't compatible with Ruby 3.0 or higher
|
|
37
|
-
- gemfile: gemfiles/rails_5.2.gemfile
|
|
38
|
-
rvm: 3.0
|
|
39
|
-
|
|
40
|
-
env:
|
|
41
|
-
global:
|
|
42
|
-
secure: LrTz0Pq2ibNZuKDhdzcrvEUSNxUpPopEq9aJeCxy3UpV0v4vpHBtWV0S6zofvf98g/RkZ6cGI1u+0H578dHgE6pWTo+iR8LAwqPKofrFIWRkeo+M77Vs5swahb3mQyPOcig1hfVWDm25MsojePYm70eBIcBU55NWImtdePXfiU0=
|