index_shotgun 2.0.0 → 3.0.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: c478302e50cc543624c0fc3c8dd1d97b4c6baf6beca5ea9ddadb1a7d01d2f758
4
- data.tar.gz: 7e2e320e790201a5989de7152fd22e34d5d7752ca6518930ed1d3ca97bd01320
3
+ metadata.gz: '0279ef3881e13d88280d6bd74cd9eb9dfef670528d165faedef0698bfc7b2bd5'
4
+ data.tar.gz: e4eb4d165caec0b99edd42eb44fedb0f77c8e1cd59e35cbe6d9495a7c56d0e43
5
5
  SHA512:
6
- metadata.gz: c62ebe57d4484a06f20e20e615d3709a15f415b2cca4425229ebd62f98cf2d2ca7191794ea8766b0b5bb3217700ee6bbf958ef8a9b96cd08b66de2dc71aecd04
7
- data.tar.gz: 5e27c96ce0440d081c73ac3fd0ec52a65ee56012f163c8beb6faccbe85e2954e25a250a595a6e4d6edc7fad7f79d69025a0ec6ae5cd6989592e12aa8d8e7f037
6
+ metadata.gz: 303fb0cf2ba572b47fcfcc782a463e7c1bd63ee40bdf516f7bc91f01c058cc11c0077fbbd023a03859ea0e95fee34f4737b1c849df753549a0d5e21546933a20
7
+ data.tar.gz: '078fb3cc2b8b28172e395a9d0f4363ddfca5539e1bc740bdd5b47a0a89a6a69185f21d45248bae28d5bec6b184919c2ec5b2c08606060a99367a6d0590ab52d3'
@@ -6,5 +6,7 @@ updates:
6
6
  directory: /
7
7
  schedule:
8
8
  interval: weekly
9
+ cooldown:
10
+ default-days: 7
9
11
  assignees:
10
12
  - sue445
@@ -34,9 +34,9 @@ jobs:
34
34
  BUNDLE_WITHOUT: mysql postgresql sqlite3 oracle
35
35
  steps:
36
36
  - name: Checkout
37
- uses: actions/checkout@v4
37
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
38
38
 
39
- - uses: ruby/setup-ruby@v1
39
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
40
40
  with:
41
41
  ruby-version: ruby
42
42
  bundler-cache: true
@@ -44,18 +44,18 @@ jobs:
44
44
  - run: bundle exec yard
45
45
 
46
46
  - name: Setup Pages
47
- uses: actions/configure-pages@v5
47
+ uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0
48
48
  - name: Upload artifact
49
- uses: actions/upload-pages-artifact@v3
49
+ uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
50
50
  with:
51
51
  # Upload entire repository
52
52
  path: './doc'
53
53
  - name: Deploy to GitHub Pages
54
54
  id: deployment
55
- uses: actions/deploy-pages@main
55
+ uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
56
56
 
57
57
  - name: Slack Notification (not success)
58
- uses: act10ns/slack@v2
58
+ uses: act10ns/slack@cfcc30955fe9377f4f55e1079e5419ee1014269f # v2
59
59
  if: "! success()"
60
60
  continue-on-error: true
61
61
  with:
@@ -0,0 +1,44 @@
1
+ name: Publish gem to rubygems.org
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ release:
8
+ if: github.repository == 'sue445/index_shotgun'
9
+ runs-on: ubuntu-latest
10
+
11
+ environment:
12
+ name: rubygems.org
13
+ url: https://rubygems.org/gems/index_shotgun
14
+
15
+ permissions:
16
+ contents: write
17
+ id-token: write
18
+
19
+ env:
20
+ BUNDLE_WITHOUT: mysql postgresql sqlite3 oracle
21
+
22
+ steps:
23
+ - name: Harden Runner
24
+ uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
25
+ with:
26
+ egress-policy: audit
27
+
28
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
29
+
30
+ - name: Set up Ruby
31
+ uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c # v1.237.0
32
+ with:
33
+ bundler-cache: true
34
+ ruby-version: ruby
35
+
36
+ - name: Publish to RubyGems
37
+ uses: rubygems/release-gem@a25424ba2ba8b387abc8ef40807c2c85b96cbe32 # v1.1.1
38
+
39
+ - name: Create GitHub release
40
+ run: |
41
+ tag_name="$(git describe --tags --abbrev=0)"
42
+ gh release create "${tag_name}" --verify-tag --generate-notes
43
+ env:
44
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -16,6 +16,10 @@ on:
16
16
  schedule:
17
17
  - cron: "0 20 * * 5" # JST 5:00 (Sat)
18
18
 
19
+ concurrency:
20
+ group: ci-${{ github.ref }}-${{ github.workflow }}
21
+ cancel-in-progress: true
22
+
19
23
  jobs:
20
24
  test:
21
25
  runs-on: ubuntu-latest
@@ -25,39 +29,46 @@ jobs:
25
29
 
26
30
  matrix:
27
31
  ruby:
28
- - "2.5"
29
- - "2.6"
30
32
  - "2.7"
31
33
  - "3.0"
32
34
  - "3.1"
33
35
  - "3.2"
34
36
  - "3.3"
37
+ - "3.4"
35
38
  gemfile:
36
- - activerecord_6_0
37
- - activerecord_6_1
38
- - activerecord_7_0
39
39
  - activerecord_7_1
40
+ - activerecord_7_2
41
+ - activerecord_8_0
42
+ - activerecord_8_1
40
43
  database:
41
44
  - sqlite3
42
45
  - mysql
43
46
  - postgresql
44
47
  - oracle
45
48
  exclude:
46
- # Rails 7.0+ requires Ruby 2.7+
47
- - ruby: "2.5"
48
- gemfile: activerecord_7_0
49
- - ruby: "2.6"
50
- gemfile: activerecord_7_0
51
- - ruby: "2.4"
52
- gemfile: activerecord_7_1
53
- - ruby: "2.5"
54
- gemfile: activerecord_7_1
55
- - ruby: "2.6"
56
- gemfile: activerecord_7_1
57
-
58
- # TODO: latest activerecord-oracle_enhanced-adapter doesn't support activerecord 7.1
49
+ # TODO: latest activerecord-oracle_enhanced-adapter doesn't support activerecord 8.1+
59
50
  - database: oracle
60
- gemfile: activerecord_7_1
51
+ gemfile: activerecord_8_1
52
+
53
+ # Rails 7.2+ requires Ruby 3.1+
54
+ - ruby: "2.7"
55
+ gemfile: activerecord_7_2
56
+ - ruby: "3.0"
57
+ gemfile: activerecord_7_2
58
+
59
+ # Rails 8.0+ requires Ruby 3.2+
60
+ - ruby: "2.7"
61
+ gemfile: activerecord_8_0
62
+ - ruby: "3.0"
63
+ gemfile: activerecord_8_0
64
+ - ruby: "3.1"
65
+ gemfile: activerecord_8_0
66
+ - ruby: "2.7"
67
+ gemfile: activerecord_8_1
68
+ - ruby: "3.0"
69
+ gemfile: activerecord_8_1
70
+ - ruby: "3.1"
71
+ gemfile: activerecord_8_1
61
72
 
62
73
  env:
63
74
  BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
@@ -86,21 +97,21 @@ jobs:
86
97
  options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
87
98
 
88
99
  oracle:
89
- image: deepdiver/docker-oracle-xe-11g
100
+ image: deepdiver/docker-oracle-xe-11g:2.0
90
101
  ports:
91
102
  - 1521
92
103
  env:
93
104
  ORACLE_SYSTEM_PASSWORD: oracle
94
105
 
95
106
  steps:
96
- - uses: actions/checkout@v4
107
+ - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
97
108
 
98
- - uses: ruby/setup-ruby@v1
109
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
99
110
  with:
100
111
  ruby-version: ${{ matrix.ruby }}
101
112
 
102
113
  - name: Cache vendor/bundle
103
- uses: actions/cache@v4
114
+ uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
104
115
  id: cache_gem
105
116
  with:
106
117
  path: vendor/bundle
@@ -115,7 +126,7 @@ jobs:
115
126
  ./ci/install.sh
116
127
 
117
128
  - name: Setup Code Climate Test Reporter
118
- uses: aktions/codeclimate-test-reporter@v1
129
+ uses: aktions/codeclimate-test-reporter@7634aa9ac7883182f583f15ff7b6ff519939dd0a # v1.2.0
119
130
  with:
120
131
  codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
121
132
  command: before-build
@@ -134,7 +145,7 @@ jobs:
134
145
  ORACLE_PORT: ${{ job.services.oracle.ports['1521'] }}
135
146
 
136
147
  - name: Teardown Code Climate Test Reporter
137
- uses: aktions/codeclimate-test-reporter@v1
148
+ uses: aktions/codeclimate-test-reporter@7634aa9ac7883182f583f15ff7b6ff519939dd0a # v1.2.0
138
149
  with:
139
150
  codeclimate-test-reporter-id: ${{ secrets.CC_TEST_REPORTER_ID }}
140
151
  command: after-build
@@ -142,7 +153,7 @@ jobs:
142
153
  continue-on-error: true
143
154
 
144
155
  - name: Slack Notification (not success)
145
- uses: act10ns/slack@v2
156
+ uses: act10ns/slack@cfcc30955fe9377f4f55e1079e5419ee1014269f # v2
146
157
  if: "! success()"
147
158
  continue-on-error: true
148
159
  with:
@@ -154,24 +165,23 @@ jobs:
154
165
  runs-on: ubuntu-latest
155
166
 
156
167
  env:
157
- RUBY_VERSION: 2.5
158
168
  BUNDLE_WITHOUT: mysql postgresql sqlite3 oracle
159
169
 
160
170
  steps:
161
- - uses: actions/checkout@v4
171
+ - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
162
172
 
163
- - uses: ruby/setup-ruby@v1
173
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
164
174
  with:
165
- ruby-version: ${{ env.RUBY_VERSION }}
175
+ ruby-version: ruby
166
176
 
167
177
  - name: Cache vendor/bundle
168
- uses: actions/cache@v4
178
+ uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
169
179
  id: cache_gem_rubocop
170
180
  with:
171
181
  path: vendor/bundle
172
- key: v1-gem-rubocop-${{ runner.os }}-${{ env.RUBY_VERSION }}-${{ github.sha }}
182
+ key: v1-gem-rubocop-${{ runner.os }}-${{ github.sha }}
173
183
  restore-keys: |
174
- v1-gem-rubocop-${{ runner.os }}-${{ env.RUBY_VERSION }}-
184
+ v1-gem-rubocop-${{ runner.os }}-
175
185
 
176
186
  - name: Install
177
187
  run: |
@@ -184,7 +194,7 @@ jobs:
184
194
  bundle exec rubocop
185
195
 
186
196
  - name: Slack Notification (not success)
187
- uses: act10ns/slack@v2
197
+ uses: act10ns/slack@cfcc30955fe9377f4f55e1079e5419ee1014269f # v2
188
198
  if: "! success()"
189
199
  continue-on-error: true
190
200
  with:
@@ -200,7 +210,7 @@ jobs:
200
210
 
201
211
  steps:
202
212
  - name: Slack Notification (success)
203
- uses: act10ns/slack@v2
213
+ uses: act10ns/slack@cfcc30955fe9377f4f55e1079e5419ee1014269f # v2
204
214
  if: always()
205
215
  continue-on-error: true
206
216
  with:
data/.rubocop.yml CHANGED
@@ -4,10 +4,13 @@ inherit_gem:
4
4
  - "config/rspec.yml"
5
5
 
6
6
  AllCops:
7
- TargetRubyVersion: 2.5
7
+ TargetRubyVersion: 2.7
8
8
  SuggestExtensions: false
9
9
  NewCops: disable
10
10
 
11
+ Layout/ClassStructure:
12
+ Enabled: false
13
+
11
14
  Layout/HashAlignment:
12
15
  EnforcedHashRocketStyle: table
13
16
  EnforcedColonStyle: table
data/CHANGELOG.md CHANGED
@@ -1,8 +1,24 @@
1
1
  # Change Log
2
2
  ## Unreleased
3
- [Full Changelog](https://github.com/sue445/index_shotgun/compare/v2.0.0...master)
3
+ [Full Changelog](https://github.com/sue445/index_shotgun/compare/v3.0.0...master)
4
4
 
5
- ## [v2.0.0](https://github.com/sue445/index_shotgun/tree/v2.0.0) (2024/05/15)
5
+ ## [v3.0.0](https://github.com/sue445/index_shotgun/releases/tag/v3.0.0) (2025/11/29)
6
+ [Full Changelog](https://github.com/sue445/index_shotgun/compare/v2.0.1...v3.0.0)
7
+
8
+ * :bomb: **[BREAKING CHANGE]** Requires Ruby 2.7+ and activerecord 7.1+
9
+ * https://github.com/sue445/index_shotgun/pull/159
10
+ * Upgrade to RuboCop v1.81.7
11
+ * https://github.com/sue445/index_shotgun/pull/160
12
+ * Release gem from GitHub Actions
13
+ * https://github.com/sue445/index_shotgun/pull/158
14
+
15
+ ## [v2.0.1](https://github.com/sue445/index_shotgun/releases/tag/v2.0.1) (2025/01/18)
16
+ [Full Changelog](https://github.com/sue445/index_shotgun/compare/v2.0.0...v2.0.1)
17
+
18
+ * Fix `NameError: uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger` when activesupport < 7.1
19
+ * https://github.com/sue445/index_shotgun/pull/151
20
+
21
+ ## [v2.0.0](https://github.com/sue445/index_shotgun/releases/tag/v2.0.0) (2024/05/15)
6
22
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v1.0.3...v2.0.0)
7
23
 
8
24
  * :bomb: **[BREAKING CHANGE]** Requires Ruby2.5+ and activerecord 6.0+
@@ -10,32 +26,32 @@
10
26
  * Upgrade to rubocop 1.28.2
11
27
  * https://github.com/sue445/index_shotgun/pull/142
12
28
 
13
- ## [v1.0.3](https://github.com/sue445/index_shotgun/tree/v1.0.3) (2024/05/14)
29
+ ## [v1.0.3](https://github.com/sue445/index_shotgun/releases/tag/v1.0.3) (2024/05/14)
14
30
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v1.0.2...v1.0.3)
15
31
 
16
32
  * Fixed false positives when there are multiple unique indexes on a single table
17
33
  * https://github.com/sue445/index_shotgun/pull/140
18
34
 
19
- ## [v1.0.2](https://github.com/sue445/index_shotgun/tree/v1.0.2) (2023/12/28)
35
+ ## [v1.0.2](https://github.com/sue445/index_shotgun/releases/tag/v1.0.2) (2023/12/28)
20
36
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v1.0.1...v1.0.2)
21
37
 
22
38
  * Fixed deprecation warning in activesupport 7.1
23
39
  * https://github.com/sue445/index_shotgun/pull/134
24
40
 
25
- ## [v1.0.1](https://github.com/sue445/index_shotgun/tree/v1.0.1) (2021/11/20)
41
+ ## [v1.0.1](https://github.com/sue445/index_shotgun/releases/tag/v1.0.1) (2021/11/20)
26
42
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v1.0.0...v1.0.1)
27
43
 
28
44
  * Enable MFA requirement for gem releasing
29
45
  * https://github.com/sue445/index_shotgun/pull/111
30
46
 
31
- ## [v1.0.0](https://github.com/sue445/index_shotgun/tree/v1.0.0) (2019/01/06)
47
+ ## [v1.0.0](https://github.com/sue445/index_shotgun/releases/tag/v1.0.0) (2019/01/06)
32
48
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.3.0...v1.0.0)
33
49
 
34
50
  ### Breaking changes :bomb:
35
51
  * Drop support for Ruby 2.2 and Rails 4.2
36
52
  * https://github.com/sue445/index_shotgun/pull/60
37
53
 
38
- ## [v0.3.0](https://github.com/sue445/index_shotgun/tree/v0.3.0) (2016/07/23)
54
+ ## [v0.3.0](https://github.com/sue445/index_shotgun/releases/tag/v0.3.0) (2016/07/23)
39
55
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.2.1...v0.3.0)
40
56
 
41
57
  **Merged pull requests:**
@@ -46,7 +62,7 @@
46
62
  - Add CI for oracle [\#23](https://github.com/sue445/index_shotgun/pull/23) ([sue445](https://github.com/sue445))
47
63
  - Test ruby 2.3.1 [\#22](https://github.com/sue445/index_shotgun/pull/22) ([sue445](https://github.com/sue445))
48
64
 
49
- ## [v0.2.1](https://github.com/sue445/index_shotgun/tree/v0.2.1) (2016/02/17)
65
+ ## [v0.2.1](https://github.com/sue445/index_shotgun/releases/tag/v0.2.1) (2016/02/17)
50
66
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.2.0...v0.2.1)
51
67
 
52
68
  **Closed issues:**
@@ -59,7 +75,7 @@
59
75
  - Relax bundler version [\#19](https://github.com/sue445/index_shotgun/pull/19) ([sue445](https://github.com/sue445))
60
76
  - Add ruby 2.3 [\#18](https://github.com/sue445/index_shotgun/pull/18) ([sue445](https://github.com/sue445))
61
77
 
62
- ## [v0.2.0](https://github.com/sue445/index_shotgun/tree/v0.2.0) (2015/11/09)
78
+ ## [v0.2.0](https://github.com/sue445/index_shotgun/releases/tag/v0.2.0) (2015/11/09)
63
79
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.1.0...v0.2.0)
64
80
 
65
81
  **Merged pull requests:**
@@ -67,7 +83,7 @@
67
83
  - Support Oracle Database [\#17](https://github.com/sue445/index_shotgun/pull/17) ([koic](https://github.com/koic))
68
84
  - Add group to database gem dependency [\#16](https://github.com/sue445/index_shotgun/pull/16) ([sue445](https://github.com/sue445))
69
85
 
70
- ## [v0.1.0](https://github.com/sue445/index_shotgun/tree/v0.1.0) (2015/09/30)
86
+ ## [v0.1.0](https://github.com/sue445/index_shotgun/releases/tag/v0.1.0) (2015/09/30)
71
87
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.1.0.beta3...v0.1.0)
72
88
 
73
89
  **Closed issues:**
@@ -82,14 +98,14 @@
82
98
  - Tweak result message of unique index [\#12](https://github.com/sue445/index_shotgun/pull/12) ([sue445](https://github.com/sue445))
83
99
  - Write doc [\#10](https://github.com/sue445/index_shotgun/pull/10) ([sue445](https://github.com/sue445))
84
100
 
85
- ## [v0.1.0.beta3](https://github.com/sue445/index_shotgun/tree/v0.1.0.beta3) (2015/09/17)
101
+ ## [v0.1.0.beta3](https://github.com/sue445/index_shotgun/releases/tag/v0.1.0.beta3) (2015/09/17)
86
102
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.1.0.beta2...v0.1.0.beta3)
87
103
 
88
104
  **Merged pull requests:**
89
105
 
90
106
  - Add summary [\#11](https://github.com/sue445/index_shotgun/pull/11) ([sue445](https://github.com/sue445))
91
107
 
92
- ## [v0.1.0.beta2](https://github.com/sue445/index_shotgun/tree/v0.1.0.beta2) (2015/09/16)
108
+ ## [v0.1.0.beta2](https://github.com/sue445/index_shotgun/releases/tag/v0.1.0.beta2) (2015/09/16)
93
109
  [Full Changelog](https://github.com/sue445/index_shotgun/compare/v0.1.0.beta1...v0.1.0.beta2)
94
110
 
95
111
  **Merged pull requests:**
@@ -101,7 +117,7 @@
101
117
  - Setup codeclimate, coveralls [\#2](https://github.com/sue445/index_shotgun/pull/2) ([sue445](https://github.com/sue445))
102
118
  - Setup travis [\#1](https://github.com/sue445/index_shotgun/pull/1) ([sue445](https://github.com/sue445))
103
119
 
104
- ## [v0.1.0.beta1](https://github.com/sue445/index_shotgun/tree/v0.1.0.beta1) (2015/09/06)
120
+ ## [v0.1.0.beta1](https://github.com/sue445/index_shotgun/releases/tag/v0.1.0.beta1) (2015/09/06)
105
121
 
106
122
 
107
- \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
123
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # IndexShotgun :fire: :gun: :cop:
2
2
  [![Gem Version](https://badge.fury.io/rb/index_shotgun.svg)](http://badge.fury.io/rb/index_shotgun)
3
- [![Build Status](https://github.com/sue445/index_shotgun/workflows/test/badge.svg?branch=master)](https://github.com/sue445/index_shotgun/actions?query=workflow%3Atest)
3
+ [![test](https://github.com/sue445/index_shotgun/actions/workflows/test.yml/badge.svg)](https://github.com/sue445/index_shotgun/actions/workflows/test.yml)
4
4
  [![Code Climate](https://codeclimate.com/github/sue445/index_shotgun/badges/gpa.svg)](https://codeclimate.com/github/sue445/index_shotgun)
5
- [![Coverage Status](https://coveralls.io/repos/sue445/index_shotgun/badge.svg?branch=master&service=github)](https://coveralls.io/github/sue445/index_shotgun?branch=master)
6
5
 
7
6
  Duplicate index checker.
8
7
 
data/ci/build.sh CHANGED
@@ -1,18 +1,5 @@
1
1
  #!/bin/bash -xe
2
2
 
3
- if [ "${DATABASE}" = "mysql" ]; then
4
- export BUNDLE_WITHOUT="postgresql sqlite3 oracle"
5
- elif [ "${DATABASE}" = "postgresql" ]; then
6
- export BUNDLE_WITHOUT="mysql sqlite3 oracle"
7
- elif [ "${DATABASE}" = "sqlite3" ]; then
8
- export BUNDLE_WITHOUT="mysql postgresql oracle"
9
- elif [ "${DATABASE}" = "oracle" ]; then
10
- export BUNDLE_WITHOUT="mysql postgresql sqlite3"
11
- else
12
- echo "${DATABASE} is unknown"
13
- exit 1
14
- fi
15
-
16
3
  cp ci/database.yml.${DATABASE} spec/config/database.yml
17
4
  bundle exec rspec --profile
18
5
 
data/ci/install.sh CHANGED
@@ -9,19 +9,19 @@ if [ "${DATABASE}" = "mysql" ]; then
9
9
  sudo apt-get update
10
10
  sudo apt-get install -y libmysqlclient-dev
11
11
 
12
- export BUNDLE_WITHOUT="postgresql sqlite3 oracle"
12
+ bundle config set --local without "postgresql sqlite3 oracle"
13
13
 
14
14
  elif [ "${DATABASE}" = "postgresql" ]; then
15
15
  sudo apt-get update
16
16
  sudo apt-get install -y libpq-dev
17
17
 
18
- export BUNDLE_WITHOUT="mysql sqlite3 oracle"
18
+ bundle config set --local without "mysql sqlite3 oracle"
19
19
 
20
20
  elif [ "${DATABASE}" = "sqlite3" ]; then
21
21
  sudo apt-get update
22
22
  sudo apt-get install -y libsqlite3-dev
23
23
 
24
- export BUNDLE_WITHOUT="mysql postgresql oracle"
24
+ bundle config set --local without "mysql postgresql oracle"
25
25
 
26
26
  elif [ "${DATABASE}" = "oracle" ]; then
27
27
  # c.f. https://github.com/kubo/ruby-oci8/blob/ruby-oci8-2.2.7/docs/install-instant-client.md#install-oracle-instant-client-packages
@@ -35,14 +35,22 @@ elif [ "${DATABASE}" = "oracle" ]; then
35
35
  unzip instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip
36
36
 
37
37
  sudo apt-get update
38
- sudo apt-get install -y libaio1
38
+
39
+ # libaio1 is replaced to libaio1t64
40
+ # c.f. https://askubuntu.com/questions/1512196/libaio1-on-noble
41
+ # sudo apt-get install -y libaio1
42
+ sudo apt-get install -y libaio1t64
43
+ sudo ln -s /usr/lib/$(uname -m)-linux-gnu/libaio.so.1t64 /usr/lib/$(uname -m)-linux-gnu/libaio.so.1
39
44
 
40
45
  popd
41
46
 
42
- export BUNDLE_WITHOUT="mysql postgresql sqlite3"
47
+ bundle config set --local without "mysql postgresql sqlite3"
48
+
49
+ elif [ "${DATABASE}" = "sqlite3" ]; then
50
+ bundle config set --local without "mysql postgresql oracle"
43
51
 
44
52
  else
45
- export BUNDLE_WITHOUT="mysql postgresql sqlite3 oracle"
53
+ bundle config set --local without "mysql postgresql sqlite3 oracle"
46
54
 
47
55
  fi
48
56
 
@@ -12,11 +12,10 @@ group :mysql do
12
12
  gem "mysql2", "~> 0.5"
13
13
  end
14
14
 
15
- # TODO: latest activerecord-oracle_enhanced-adapter doesn't support activerecord 7.1
16
- # group :oracle do
17
- # gem "activerecord-oracle_enhanced-adapter", "~> 7.0.0"
18
- # gem "ruby-oci8"
19
- # end
15
+ group :oracle do
16
+ gem "activerecord-oracle_enhanced-adapter", "~> 7.1.0.beta2"
17
+ gem "ruby-oci8"
18
+ end
20
19
 
21
20
  group :sqlite3 do
22
21
  # c.f. https://github.com/rails/rails/blob/v7.1.0/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14
@@ -0,0 +1,25 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "activerecord", "~> 7.2.0.beta1"
4
+
5
+ group :postgresql do
6
+ # c.f. https://github.com/rails/rails/blob/v7.2.0.beta1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L3-L4
7
+ gem "pg", "~> 1.1"
8
+ end
9
+
10
+ group :mysql do
11
+ # c.f. https://github.com/rails/rails/blob/v7.2.0.beta1/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L6
12
+ gem "mysql2", "~> 0.5"
13
+ end
14
+
15
+ group :oracle do
16
+ gem "activerecord-oracle_enhanced-adapter", "~> 7.2.0.rc1"
17
+ gem "ruby-oci8"
18
+ end
19
+
20
+ group :sqlite3 do
21
+ # c.f. https://github.com/rails/rails/blob/v7.2.0.beta1/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14
22
+ gem "sqlite3", ">= 1.4"
23
+ end
24
+
25
+ gemspec path: "../"
@@ -0,0 +1,25 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "activerecord", "~> 8.0.0.rc1"
4
+
5
+ group :postgresql do
6
+ # c.f. https://github.com/rails/rails/blob/v8.0.0.rc1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L3-L4
7
+ gem "pg", "~> 1.1"
8
+ end
9
+
10
+ group :mysql do
11
+ # c.f. https://github.com/rails/rails/blob/v8.0.0.rc1/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L6
12
+ gem "mysql2", "~> 0.5"
13
+ end
14
+
15
+ group :oracle do
16
+ gem "activerecord-oracle_enhanced-adapter", "~> 8.0.0.rc1"
17
+ gem "ruby-oci8"
18
+ end
19
+
20
+ group :sqlite3 do
21
+ # c.f. https://github.com/rails/rails/blob/v8.0.0.rc1/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14
22
+ gem "sqlite3", ">= 2.1"
23
+ end
24
+
25
+ gemspec path: "../"
@@ -0,0 +1,25 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "activerecord", "~> 8.1.0.rc1"
4
+
5
+ group :postgresql do
6
+ # c.f. https://github.com/rails/rails/blob/v8.1.0.rc1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L3-L4
7
+ gem "pg", "~> 1.1"
8
+ end
9
+
10
+ group :mysql do
11
+ # c.f. https://github.com/rails/rails/blob/v8.1.0.rc1/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L6
12
+ gem "mysql2", "~> 0.5"
13
+ end
14
+
15
+ # group :oracle do
16
+ # gem "activerecord-oracle_enhanced-adapter", "~> 8.0.0.rc1"
17
+ # gem "ruby-oci8"
18
+ # end
19
+
20
+ group :sqlite3 do
21
+ # c.f. https://github.com/rails/rails/blob/v8.1.0.rc1/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L14
22
+ gem "sqlite3", ">= 2.1"
23
+ end
24
+
25
+ gemspec path: "../"
@@ -19,25 +19,23 @@ Gem::Specification.new do |spec|
19
19
  spec.metadata["documentation_uri"] = "https://sue445.github.io/index_shotgun/"
20
20
  spec.metadata["rubygems_mfa_required"] = "true"
21
21
 
22
- spec.required_ruby_version = ">= 2.5.0"
22
+ spec.required_ruby_version = ">= 2.7.0"
23
23
 
24
24
  spec.files = `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
25
25
  spec.bindir = "exe"
26
26
  spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
27
27
  spec.require_paths = ["lib"]
28
28
 
29
- spec.add_dependency "activerecord", ">= 6.0.0"
29
+ spec.add_dependency "activerecord", ">= 7.1.0"
30
30
  spec.add_dependency "thor"
31
31
 
32
32
  spec.add_development_dependency "bundler"
33
- spec.add_development_dependency "coveralls_reborn"
34
33
  spec.add_development_dependency "onkcop", "1.0.0.0"
35
34
  spec.add_development_dependency "rake"
36
35
  spec.add_development_dependency "rake_shared_context", "0.2.2"
37
36
  spec.add_development_dependency "rspec"
38
37
  spec.add_development_dependency "rspec-its"
39
- spec.add_development_dependency "rubocop", "1.28.2"
40
- spec.add_development_dependency "rubocop_auto_corrector", "< 0.4.4" # FIXME: rubocop --autocorrect doesn't available on rubocop 1.28.2
41
- spec.add_development_dependency "simplecov", "< 0.18.0"
38
+ spec.add_development_dependency "rubocop", "1.81.7"
39
+ spec.add_development_dependency "rubocop_auto_corrector"
42
40
  spec.add_development_dependency "yard"
43
41
  end
@@ -14,7 +14,7 @@ module IndexShotgun
14
14
  end
15
15
  end
16
16
 
17
- class << self
17
+ class << self # rubocop:disable Metrics/ClassLength
18
18
  using IndexShotgun::ArrayStartWith
19
19
 
20
20
  # Search duplicate index
@@ -1,3 +1,3 @@
1
1
  module IndexShotgun
2
- VERSION = "2.0.0".freeze
2
+ VERSION = "3.0.0".freeze
3
3
  end
data/lib/index_shotgun.rb CHANGED
@@ -1,5 +1,9 @@
1
1
  require "index_shotgun/version"
2
2
  require "index_shotgun/analyzer"
3
+
4
+ # FIXME: NameError: uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger when activesupport < 7.1
5
+ require "logger"
6
+
3
7
  require "active_record"
4
8
 
5
9
  module IndexShotgun
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: index_shotgun
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-05-14 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activerecord
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 6.0.0
18
+ version: 7.1.0
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: 6.0.0
25
+ version: 7.1.0
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: thor
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -52,20 +51,6 @@ dependencies:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: coveralls_reborn
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
54
  - !ruby/object:Gem::Dependency
70
55
  name: onkcop
71
56
  requirement: !ruby/object:Gem::Requirement
@@ -142,42 +127,28 @@ dependencies:
142
127
  requirements:
143
128
  - - '='
144
129
  - !ruby/object:Gem::Version
145
- version: 1.28.2
130
+ version: 1.81.7
146
131
  type: :development
147
132
  prerelease: false
148
133
  version_requirements: !ruby/object:Gem::Requirement
149
134
  requirements:
150
135
  - - '='
151
136
  - !ruby/object:Gem::Version
152
- version: 1.28.2
137
+ version: 1.81.7
153
138
  - !ruby/object:Gem::Dependency
154
139
  name: rubocop_auto_corrector
155
140
  requirement: !ruby/object:Gem::Requirement
156
141
  requirements:
157
- - - "<"
158
- - !ruby/object:Gem::Version
159
- version: 0.4.4
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "<"
165
- - !ruby/object:Gem::Version
166
- version: 0.4.4
167
- - !ruby/object:Gem::Dependency
168
- name: simplecov
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "<"
142
+ - - ">="
172
143
  - !ruby/object:Gem::Version
173
- version: 0.18.0
144
+ version: '0'
174
145
  type: :development
175
146
  prerelease: false
176
147
  version_requirements: !ruby/object:Gem::Requirement
177
148
  requirements:
178
- - - "<"
149
+ - - ">="
179
150
  - !ruby/object:Gem::Version
180
- version: 0.18.0
151
+ version: '0'
181
152
  - !ruby/object:Gem::Dependency
182
153
  name: yard
183
154
  requirement: !ruby/object:Gem::Requirement
@@ -203,6 +174,7 @@ files:
203
174
  - ".coveralls.yml"
204
175
  - ".github/dependabot.yml"
205
176
  - ".github/workflows/pages.yml"
177
+ - ".github/workflows/release_gem.yml"
206
178
  - ".github/workflows/test.yml"
207
179
  - ".github_changelog_generator"
208
180
  - ".gitignore"
@@ -223,10 +195,10 @@ files:
223
195
  - ci/database.yml.sqlite3
224
196
  - ci/install.sh
225
197
  - exe/index_shotgun
226
- - gemfiles/activerecord_6_0.gemfile
227
- - gemfiles/activerecord_6_1.gemfile
228
- - gemfiles/activerecord_7_0.gemfile
229
198
  - gemfiles/activerecord_7_1.gemfile
199
+ - gemfiles/activerecord_7_2.gemfile
200
+ - gemfiles/activerecord_8_0.gemfile
201
+ - gemfiles/activerecord_8_1.gemfile
230
202
  - index_shotgun.gemspec
231
203
  - lib/index_shotgun.rb
232
204
  - lib/index_shotgun/analyzer.rb
@@ -245,7 +217,6 @@ metadata:
245
217
  changelog_uri: https://github.com/sue445/index_shotgun/blob/master/CHANGELOG.md
246
218
  documentation_uri: https://sue445.github.io/index_shotgun/
247
219
  rubygems_mfa_required: 'true'
248
- post_install_message:
249
220
  rdoc_options: []
250
221
  require_paths:
251
222
  - lib
@@ -253,15 +224,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
253
224
  requirements:
254
225
  - - ">="
255
226
  - !ruby/object:Gem::Version
256
- version: 2.5.0
227
+ version: 2.7.0
257
228
  required_rubygems_version: !ruby/object:Gem::Requirement
258
229
  requirements:
259
230
  - - ">="
260
231
  - !ruby/object:Gem::Version
261
232
  version: '0'
262
233
  requirements: []
263
- rubygems_version: 3.5.3
264
- signing_key:
234
+ rubygems_version: 3.6.7
265
235
  specification_version: 4
266
236
  summary: duplicate index checker
267
237
  test_files: []
@@ -1,25 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "activerecord", "~> 6.0.0"
4
-
5
- group :postgresql do
6
- # c.f. https://github.com/rails/rails/blob/v6.0.0.rc1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L4
7
- gem "pg", ">= 0.18", "< 2.0"
8
- end
9
-
10
- group :mysql do
11
- # c.f. https://github.com/rails/rails/blob/v6.0.0.rc1/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L6
12
- gem "mysql2", ">= 0.4.4"
13
- end
14
-
15
- group :oracle do
16
- gem "activerecord-oracle_enhanced-adapter", "~> 6.0.0"
17
- gem "ruby-oci8"
18
- end
19
-
20
- group :sqlite3 do
21
- # c.f. https://github.com/rails/rails/blob/v6.0.0.rc1/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L13
22
- gem "sqlite3", "~> 1.4"
23
- end
24
-
25
- gemspec path: "../"
@@ -1,25 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "activerecord", "~> 6.1.0"
4
-
5
- group :postgresql do
6
- # c.f. https://github.com/rails/rails/blob/v6.1.0/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L3
7
- gem "pg", "~> 1.1"
8
- end
9
-
10
- group :mysql do
11
- # c.f. https://github.com/rails/rails/blob/v6.1.0/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L6
12
- gem "mysql2", "~> 0.5"
13
- end
14
-
15
- group :oracle do
16
- gem "activerecord-oracle_enhanced-adapter", "~> 6.1.2"
17
- gem "ruby-oci8"
18
- end
19
-
20
- group :sqlite3 do
21
- # c.f. https://github.com/rails/rails/blob/v6.1.0/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L13
22
- gem "sqlite3", "~> 1.4"
23
- end
24
-
25
- gemspec path: "../"
@@ -1,27 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- # NOTE: Ruby 3.1 + Rails 7.0.0 doesn't work
4
- # c.f. https://gist.github.com/yahonda/2776d8d7b6ea7045359f38c10449937b
5
- gem "activerecord", "~> 7.0.1"
6
-
7
- group :postgresql do
8
- # c.f. https://github.com/rails/rails/blob/v7.0.0/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L3
9
- gem "pg", "~> 1.1"
10
- end
11
-
12
- group :mysql do
13
- # c.f. https://github.com/rails/rails/blob/v7.0.0/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L6
14
- gem "mysql2", "~> 0.5"
15
- end
16
-
17
- group :oracle do
18
- gem "activerecord-oracle_enhanced-adapter", "~> 7.0.0"
19
- gem "ruby-oci8"
20
- end
21
-
22
- group :sqlite3 do
23
- # c.f. https://github.com/rails/rails/blob/v7.0.0/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L13
24
- gem "sqlite3", "~> 1.4"
25
- end
26
-
27
- gemspec path: "../"