index_shotgun 0.2.0 → 1.0.1

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.
@@ -0,0 +1,15 @@
1
+ if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.4.0")
2
+ # byebug v11.1.0+ requires Ruby 2.4.0+
3
+ gem "byebug", "< 11.1.0"
4
+
5
+ # simplecov-html v0.12.3+ requires Ruby 2.4.0+
6
+ gem "simplecov-html", "< 0.12.3"
7
+
8
+ # parallel v1.20.0 requires Ruby 2.5.0+ and parallel v1.20.1+ requires Ruby 2.4.0+
9
+ gem "parallel", "< 1.20.0"
10
+ end
11
+
12
+ if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.4.4")
13
+ # zeitwerk requires Ruby 2.4.4+
14
+ gem "activesupport", "< 6.0.0"
15
+ end
@@ -1,5 +1,4 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path("lib", __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "index_shotgun/version"
5
4
 
@@ -14,32 +13,30 @@ Gem::Specification.new do |spec|
14
13
  spec.homepage = "https://github.com/sue445/index_shotgun"
15
14
  spec.license = "MIT"
16
15
 
17
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
18
- # delete this section to allow pushing this gem to any host.
19
- if spec.respond_to?(:metadata)
20
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
21
- else
22
- raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
23
- end
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = spec.homepage
18
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/master/CHANGELOG.md"
19
+ spec.metadata["rubygems_mfa_required"] = "true"
24
20
 
25
- spec.required_ruby_version = ">= 2.1.0"
21
+ spec.required_ruby_version = ">= 2.4.0"
26
22
 
27
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
23
+ spec.files = `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
28
24
  spec.bindir = "exe"
29
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
+ spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
30
26
  spec.require_paths = ["lib"]
31
27
 
32
- spec.add_dependency "activerecord"
28
+ spec.add_dependency "activerecord", ">= 5.0.0"
33
29
  spec.add_dependency "thor"
34
30
 
35
- spec.add_development_dependency "bundler", "~> 1.10"
36
- spec.add_development_dependency "codeclimate-test-reporter"
31
+ spec.add_development_dependency "bundler"
37
32
  spec.add_development_dependency "coveralls"
38
- spec.add_development_dependency "pry-byebug"
39
- spec.add_development_dependency "rake", "~> 10.0"
40
- spec.add_development_dependency "rake_shared_context"
33
+ spec.add_development_dependency "onkcop", "0.53.0.2"
34
+ spec.add_development_dependency "rake"
35
+ spec.add_development_dependency "rake_shared_context", "0.2.2"
41
36
  spec.add_development_dependency "rspec"
42
37
  spec.add_development_dependency "rspec-its"
43
38
  spec.add_development_dependency "rspec-power_assert"
44
- spec.add_development_dependency "rubocop", "0.31.0"
39
+ spec.add_development_dependency "rubocop", "0.62.0"
40
+ spec.add_development_dependency "rubocop_auto_corrector"
41
+ spec.add_development_dependency "simplecov", "< 0.18.0"
45
42
  end
@@ -1,14 +1,30 @@
1
1
  module IndexShotgun
2
- module Analyzer
2
+ module Analyzer # rubocop:disable Metrics/ModuleLength
3
3
  require "index_shotgun/array_start_with"
4
4
 
5
+ class Response
6
+ attr_accessor :message, :duplicate_index_count, :total_index_count, :total_table_count
7
+
8
+ def successful?
9
+ duplicate_index_count == 0
10
+ end
11
+
12
+ def exit_if_failure!
13
+ exit(1) unless successful?
14
+ end
15
+ end
16
+
5
17
  class << self
6
18
  using IndexShotgun::ArrayStartWith
7
19
 
8
20
  # Search duplicate index
9
- # @return [String] result message
21
+ # @return [IndexShotgun::Analyzer::Response]
10
22
  def perform
11
- tables = ActiveRecord::Base.connection.tables
23
+ tables =
24
+ ActiveSupport::Deprecation.silence do
25
+ ActiveRecord::Base.connection.tables
26
+ end
27
+ tables.reject! {|table| exclude_tables.include?(table.downcase) }
12
28
 
13
29
  duplicate_indexes =
14
30
  tables.each_with_object([]) do |table, array|
@@ -17,8 +33,8 @@ module IndexShotgun
17
33
  end
18
34
 
19
35
  message =
20
- duplicate_indexes.each_with_object("") do |info, message|
21
- message << <<-EOS.strip_heredoc
36
+ duplicate_indexes.each_with_object("") do |info, str|
37
+ str << <<~MSG
22
38
  # =============================
23
39
  # #{info[:index].table}
24
40
  # =============================
@@ -27,11 +43,11 @@ module IndexShotgun
27
43
  # To remove this duplicate index, execute:
28
44
  ALTER TABLE `#{info[:index].table}` DROP INDEX `#{info[:index].name}`;
29
45
 
30
- EOS
46
+ MSG
31
47
  end
32
48
 
33
- total_index_count = tables.map { |table| table_indexes(table).count }.sum
34
- message << <<-EOS.strip_heredoc
49
+ total_index_count = tables.map {|table| table_indexes(table).count }.sum
50
+ message << <<~MSG
35
51
  # ########################################################################
36
52
  # Summary of indexes
37
53
  # ########################################################################
@@ -40,9 +56,15 @@ module IndexShotgun
40
56
  # Total Indexes #{total_index_count}
41
57
  # Total Tables #{tables.count}
42
58
 
43
- EOS
59
+ MSG
44
60
 
45
- message
61
+ response = Response.new
62
+ response.duplicate_index_count = duplicate_indexes.count
63
+ response.message = message
64
+ response.total_index_count = total_index_count
65
+ response.total_table_count = tables.count
66
+
67
+ response
46
68
  end
47
69
 
48
70
  # check duplicate indexes of table
@@ -76,6 +98,196 @@ module IndexShotgun
76
98
  def table_indexes(table)
77
99
  ActiveRecord::Base.connection.indexes(table)
78
100
  end
101
+
102
+ ORACLE_SYSTEM_TABLES = %w[
103
+ AQ$DEF$_AQCALL
104
+ AQ$DEF$_AQERROR
105
+ AQ$_DEF$_AQCALL_F
106
+ AQ$_DEF$_AQERROR_F
107
+ AQ$_INTERNET_AGENTS
108
+ AQ$_INTERNET_AGENT_PRIVS
109
+ AQ$_QUEUES
110
+ AQ$_QUEUE_TABLES
111
+ AQ$_SCHEDULES
112
+ CATALOG
113
+ COL
114
+ DEF$_AQCALL
115
+ DEF$_AQERROR
116
+ DEF$_CALLDEST
117
+ DEF$_DEFAULTDEST
118
+ DEF$_DESTINATION
119
+ DEF$_ERROR
120
+ DEF$_LOB
121
+ DEF$_ORIGIN
122
+ DEF$_PROPAGATOR
123
+ DEF$_PUSHED_TRANSACTIONS
124
+ HELP
125
+ LOGMNRC_DBNAME_UID_MAP
126
+ LOGMNRC_GSBA
127
+ LOGMNRC_GSII
128
+ LOGMNRC_GTCS
129
+ LOGMNRC_GTLO
130
+ LOGMNRP_CTAS_PART_MAP
131
+ LOGMNRT_MDDL$
132
+ LOGMNR_AGE_SPILL$
133
+ LOGMNR_ATTRCOL$
134
+ LOGMNR_ATTRIBUTE$
135
+ LOGMNR_CCOL$
136
+ LOGMNR_CDEF$
137
+ LOGMNR_COL$
138
+ LOGMNR_COLTYPE$
139
+ LOGMNR_DICTIONARY$
140
+ LOGMNR_DICTSTATE$
141
+ LOGMNR_ENC$
142
+ LOGMNR_ERROR$
143
+ LOGMNR_FILTER$
144
+ LOGMNR_GLOBAL$
145
+ LOGMNR_GT_TAB_INCLUDE$
146
+ LOGMNR_GT_USER_INCLUDE$
147
+ LOGMNR_GT_XID_INCLUDE$
148
+ LOGMNR_ICOL$
149
+ LOGMNR_IND$
150
+ LOGMNR_INDCOMPART$
151
+ LOGMNR_INDPART$
152
+ LOGMNR_INDSUBPART$
153
+ LOGMNR_INTEGRATED_SPILL$
154
+ LOGMNR_KOPM$
155
+ LOGMNR_LOB$
156
+ LOGMNR_LOBFRAG$
157
+ LOGMNR_LOG$
158
+ LOGMNR_LOGMNR_BUILDLOG
159
+ LOGMNR_NTAB$
160
+ LOGMNR_OBJ$
161
+ LOGMNR_OPQTYPE$
162
+ LOGMNR_PARAMETER$
163
+ LOGMNR_PARTOBJ$
164
+ LOGMNR_PROCESSED_LOG$
165
+ LOGMNR_PROPS$
166
+ LOGMNR_REFCON$
167
+ LOGMNR_RESTART_CKPT$
168
+ LOGMNR_RESTART_CKPT_TXINFO$
169
+ LOGMNR_SEED$
170
+ LOGMNR_SESSION$
171
+ LOGMNR_SESSION_ACTIONS$
172
+ LOGMNR_SESSION_EVOLVE$
173
+ LOGMNR_SPILL$
174
+ LOGMNR_SUBCOLTYPE$
175
+ LOGMNR_TAB$
176
+ LOGMNR_TABCOMPART$
177
+ LOGMNR_TABPART$
178
+ LOGMNR_TABSUBPART$
179
+ LOGMNR_TS$
180
+ LOGMNR_TYPE$
181
+ LOGMNR_UID$
182
+ LOGMNR_USER$
183
+ LOGSTDBY$APPLY_MILESTONE
184
+ LOGSTDBY$APPLY_PROGRESS
185
+ LOGSTDBY$EDS_TABLES
186
+ LOGSTDBY$EVENTS
187
+ LOGSTDBY$FLASHBACK_SCN
188
+ LOGSTDBY$HISTORY
189
+ LOGSTDBY$PARAMETERS
190
+ LOGSTDBY$PLSQL
191
+ LOGSTDBY$SCN
192
+ LOGSTDBY$SKIP
193
+ LOGSTDBY$SKIP_SUPPORT
194
+ LOGSTDBY$SKIP_TRANSACTION
195
+ MVIEW$_ADV_AJG
196
+ MVIEW$_ADV_BASETABLE
197
+ MVIEW$_ADV_CLIQUE
198
+ MVIEW$_ADV_ELIGIBLE
199
+ MVIEW$_ADV_EXCEPTIONS
200
+ MVIEW$_ADV_FILTER
201
+ MVIEW$_ADV_FILTERINSTANCE
202
+ MVIEW$_ADV_FJG
203
+ MVIEW$_ADV_GC
204
+ MVIEW$_ADV_INFO
205
+ MVIEW$_ADV_JOURNAL
206
+ MVIEW$_ADV_LEVEL
207
+ MVIEW$_ADV_LOG
208
+ MVIEW$_ADV_OUTPUT
209
+ MVIEW$_ADV_PARAMETERS
210
+ MVIEW$_ADV_PLAN
211
+ MVIEW$_ADV_PRETTY
212
+ MVIEW$_ADV_ROLLUP
213
+ MVIEW$_ADV_SQLDEPEND
214
+ MVIEW$_ADV_TEMP
215
+ MVIEW$_ADV_WORKLOAD
216
+ MVIEW_EVALUATIONS
217
+ MVIEW_EXCEPTIONS
218
+ MVIEW_FILTER
219
+ MVIEW_FILTERINSTANCE
220
+ MVIEW_LOG
221
+ MVIEW_RECOMMENDATIONS
222
+ MVIEW_WORKLOAD
223
+ OL$
224
+ OL$HINTS
225
+ OL$NODES
226
+ PRODUCT_PRIVS
227
+ PRODUCT_USER_PROFILE
228
+ PUBLICSYN
229
+ REPCAT$_AUDIT_ATTRIBUTE
230
+ REPCAT$_AUDIT_COLUMN
231
+ REPCAT$_COLUMN_GROUP
232
+ REPCAT$_CONFLICT
233
+ REPCAT$_DDL
234
+ REPCAT$_EXCEPTIONS
235
+ REPCAT$_EXTENSION
236
+ REPCAT$_FLAVORS
237
+ REPCAT$_FLAVOR_OBJECTS
238
+ REPCAT$_GENERATED
239
+ REPCAT$_GROUPED_COLUMN
240
+ REPCAT$_INSTANTIATION_DDL
241
+ REPCAT$_KEY_COLUMNS
242
+ REPCAT$_OBJECT_PARMS
243
+ REPCAT$_OBJECT_TYPES
244
+ REPCAT$_PARAMETER_COLUMN
245
+ REPCAT$_PRIORITY
246
+ REPCAT$_PRIORITY_GROUP
247
+ REPCAT$_REFRESH_TEMPLATES
248
+ REPCAT$_REPCAT
249
+ REPCAT$_REPCATLOG
250
+ REPCAT$_REPCOLUMN
251
+ REPCAT$_REPGROUP_PRIVS
252
+ REPCAT$_REPOBJECT
253
+ REPCAT$_REPPROP
254
+ REPCAT$_REPSCHEMA
255
+ REPCAT$_RESOLUTION
256
+ REPCAT$_RESOLUTION_METHOD
257
+ REPCAT$_RESOLUTION_STATISTICS
258
+ REPCAT$_RESOL_STATS_CONTROL
259
+ REPCAT$_RUNTIME_PARMS
260
+ REPCAT$_SITES_NEW
261
+ REPCAT$_SITE_OBJECTS
262
+ REPCAT$_SNAPGROUP
263
+ REPCAT$_TEMPLATE_OBJECTS
264
+ REPCAT$_TEMPLATE_PARMS
265
+ REPCAT$_TEMPLATE_REFGROUPS
266
+ REPCAT$_TEMPLATE_SITES
267
+ REPCAT$_TEMPLATE_STATUS
268
+ REPCAT$_TEMPLATE_TARGETS
269
+ REPCAT$_TEMPLATE_TYPES
270
+ REPCAT$_USER_AUTHORIZATIONS
271
+ REPCAT$_USER_PARM_VALUES
272
+ SQLPLUS_PRODUCT_PROFILE
273
+ SYSCATALOG
274
+ SYSFILES
275
+ TAB
276
+ TABQUOTAS
277
+ ].freeze
278
+
279
+ def exclude_tables
280
+ return @exclude_tables if @exclude_tables
281
+
282
+ # Rails default tables
283
+ tables = %w[ar_internal_metadata schema_migrations]
284
+
285
+ # Oracle system tables
286
+ tables += ORACLE_SYSTEM_TABLES
287
+
288
+ @exclude_tables = tables.map(&:downcase)
289
+ @exclude_tables
290
+ end
79
291
  end
80
292
  end
81
293
  end
@@ -56,22 +56,24 @@ module IndexShotgun
56
56
 
57
57
  private
58
58
 
59
- def analyze(adapter_name, gem_name = nil)
60
- gem_name ||= adapter_name
61
- begin
62
- require gem_name
63
- rescue LoadError
64
- puts "[ERROR] #{adapter_name} is not installed. Please run `gem install #{gem_name}` and install gem"
65
- exit!
66
- end
59
+ def analyze(adapter_name, gem_name = nil)
60
+ gem_name ||= adapter_name
61
+ begin
62
+ require gem_name
63
+ rescue LoadError
64
+ puts "[ERROR] #{adapter_name} is not installed. Please run `gem install #{gem_name}` and install gem"
65
+ exit!
66
+ end
67
67
 
68
- config = options.reverse_merge(adapter: adapter_name)
68
+ config = options.reverse_merge(adapter: adapter_name)
69
69
 
70
- ask_password = config.delete("ask_password")
71
- config[:password] = ask("Input password (hidden):", echo: false) if ask_password
70
+ ask_password = config.delete("ask_password")
71
+ config[:password] = ask("Input password (hidden):", echo: false) if ask_password
72
72
 
73
- ActiveRecord::Base.establish_connection(config)
74
- puts IndexShotgun::Analyzer.perform
75
- end
73
+ ActiveRecord::Base.establish_connection(config)
74
+ response = IndexShotgun::Analyzer.perform
75
+ puts response.message
76
+ response.exit_if_failure!
77
+ end
76
78
  end
77
79
  end
@@ -1,6 +1,8 @@
1
1
  namespace :index_shotgun do
2
2
  desc "Search duplicate indexes"
3
3
  task :fire => :environment do
4
- puts IndexShotgun::Analyzer.perform
4
+ response = IndexShotgun::Analyzer.perform
5
+ puts response.message
6
+ response.exit_if_failure!
5
7
  end
6
8
  end
@@ -1,3 +1,3 @@
1
1
  module IndexShotgun
2
- VERSION = "0.2.0"
2
+ VERSION = "1.0.1".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: index_shotgun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-09 00:00:00.000000000 Z
11
+ date: 2021-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 5.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: thor
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,18 +42,18 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '1.10'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '1.10'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: codeclimate-test-reporter
56
+ name: coveralls
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,21 +67,21 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: coveralls
70
+ name: onkcop
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 0.53.0.2
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 0.53.0.2
83
83
  - !ruby/object:Gem::Dependency
84
- name: pry-byebug
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,21 +95,21 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rake
98
+ name: rake_shared_context
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: '10.0'
103
+ version: 0.2.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: '10.0'
110
+ version: 0.2.2
111
111
  - !ruby/object:Gem::Dependency
112
- name: rake_shared_context
112
+ name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rspec
126
+ name: rspec-its
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: rspec-its
140
+ name: rspec-power_assert
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,7 +151,21 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: rspec-power_assert
154
+ name: rubocop
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.62.0
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 0.62.0
167
+ - !ruby/object:Gem::Dependency
168
+ name: rubocop_auto_corrector
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - ">="
@@ -165,19 +179,19 @@ dependencies:
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
- name: rubocop
182
+ name: simplecov
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
- - - '='
185
+ - - "<"
172
186
  - !ruby/object:Gem::Version
173
- version: 0.31.0
187
+ version: 0.18.0
174
188
  type: :development
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
- - - '='
192
+ - - "<"
179
193
  - !ruby/object:Gem::Version
180
- version: 0.31.0
194
+ version: 0.18.0
181
195
  description: duplicate index checker
182
196
  email:
183
197
  - sue445@sue445.net
@@ -187,12 +201,11 @@ extensions: []
187
201
  extra_rdoc_files: []
188
202
  files:
189
203
  - ".coveralls.yml"
204
+ - ".github/workflows/test.yml"
205
+ - ".github_changelog_generator"
190
206
  - ".gitignore"
191
- - ".hound.yml"
192
207
  - ".rspec"
193
208
  - ".rubocop.yml"
194
- - ".rubocop_standard.yml"
195
- - ".travis.yml"
196
209
  - CHANGELOG.md
197
210
  - Gemfile
198
211
  - LICENSE.txt
@@ -200,7 +213,20 @@ files:
200
213
  - Rakefile
201
214
  - bin/console
202
215
  - bin/setup
216
+ - ci/build.sh
217
+ - ci/database.yml.mysql
218
+ - ci/database.yml.oracle
219
+ - ci/database.yml.postgresql
220
+ - ci/database.yml.sqlite3
221
+ - ci/install.sh
203
222
  - exe/index_shotgun
223
+ - gemfiles/activerecord_5_0.gemfile
224
+ - gemfiles/activerecord_5_1.gemfile
225
+ - gemfiles/activerecord_5_2.gemfile
226
+ - gemfiles/activerecord_6_0.gemfile
227
+ - gemfiles/activerecord_6_1.gemfile
228
+ - gemfiles/activerecord_7_0.gemfile
229
+ - gemfiles/common.gemfile
204
230
  - index_shotgun.gemspec
205
231
  - lib/index_shotgun.rb
206
232
  - lib/index_shotgun/analyzer.rb
@@ -210,16 +236,15 @@ files:
210
236
  - lib/index_shotgun/tasks.rb
211
237
  - lib/index_shotgun/tasks/index_shotgun.rake
212
238
  - lib/index_shotgun/version.rb
213
- - travis_ci/build.sh
214
- - travis_ci/database.yml.mysql
215
- - travis_ci/database.yml.postgresql
216
- - travis_ci/database.yml.sqlite3
217
239
  homepage: https://github.com/sue445/index_shotgun
218
240
  licenses:
219
241
  - MIT
220
242
  metadata:
221
- allowed_push_host: https://rubygems.org
222
- post_install_message:
243
+ homepage_uri: https://github.com/sue445/index_shotgun
244
+ source_code_uri: https://github.com/sue445/index_shotgun
245
+ changelog_uri: https://github.com/sue445/index_shotgun/blob/master/CHANGELOG.md
246
+ rubygems_mfa_required: 'true'
247
+ post_install_message:
223
248
  rdoc_options: []
224
249
  require_paths:
225
250
  - lib
@@ -227,16 +252,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
227
252
  requirements:
228
253
  - - ">="
229
254
  - !ruby/object:Gem::Version
230
- version: 2.1.0
255
+ version: 2.4.0
231
256
  required_rubygems_version: !ruby/object:Gem::Requirement
232
257
  requirements:
233
258
  - - ">="
234
259
  - !ruby/object:Gem::Version
235
260
  version: '0'
236
261
  requirements: []
237
- rubyforge_project:
238
- rubygems_version: 2.4.5.1
239
- signing_key:
262
+ rubygems_version: 3.2.22
263
+ signing_key:
240
264
  specification_version: 4
241
265
  summary: duplicate index checker
242
266
  test_files: []
data/.hound.yml DELETED
@@ -1,2 +0,0 @@
1
- ruby:
2
- config_file: .rubocop.yml