Skip to content

Commit ce108da

Browse files
authored
Fix CI (#66)
More recent ruby versions have followed a pattern of moving historically bundled libraries into separate gems that now need to be explicitly added to the Gemfile or required. * Add missing dependencies for newer rubies and explicitly require logger. * Enable new Rubocop cops and fix offences * Add `mise.toml` to gitignore * Fix CI
1 parent 14fbc79 commit ce108da

File tree

5 files changed

+331
-4
lines changed

5 files changed

+331
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
/spec/reports/
77
/tmp/
88
.idea
9+
mise.toml
910

1011
## BUNDLER
1112
*.gem

.rubocop.yml

Lines changed: 325 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require:
1+
plugins:
22
- rubocop-performance
33

44
AllCops:
@@ -13,11 +13,334 @@ Metrics/BlockLength:
1313
Exclude:
1414
- spec/**/*.rb
1515

16-
Metrics/LineLength:
16+
Layout/LineLength:
1717
Max: 120
1818
Exclude:
1919
- spec/**/*.rb
2020

2121
Style/Documentation:
2222
Exclude:
2323
- 'spec/**/*'
24+
25+
## New Cops ##
26+
27+
Gemspec/AddRuntimeDependency: # new in 1.65
28+
Enabled: true
29+
Gemspec/AttributeAssignment: # new in 1.77
30+
Enabled: true
31+
Gemspec/DeprecatedAttributeAssignment: # new in 1.30
32+
Enabled: true
33+
Gemspec/DevelopmentDependencies: # new in 1.44
34+
Enabled: true
35+
Gemspec/RequireMFA: # new in 1.23
36+
Enabled: true
37+
Layout/EmptyLinesAfterModuleInclusion: # new in 1.79
38+
Enabled: true
39+
Layout/LineContinuationLeadingSpace: # new in 1.31
40+
Enabled: true
41+
Layout/LineContinuationSpacing: # new in 1.31
42+
Enabled: true
43+
Layout/LineEndStringConcatenationIndentation: # new in 1.18
44+
Enabled: true
45+
Layout/SpaceBeforeBrackets: # new in 1.7
46+
Enabled: true
47+
Lint/AmbiguousAssignment: # new in 1.7
48+
Enabled: true
49+
Lint/AmbiguousOperatorPrecedence: # new in 1.21
50+
Enabled: true
51+
Lint/AmbiguousRange: # new in 1.19
52+
Enabled: true
53+
Lint/ArrayLiteralInRegexp: # new in 1.71
54+
Enabled: true
55+
Lint/ConstantOverwrittenInRescue: # new in 1.31
56+
Enabled: true
57+
Lint/ConstantReassignment: # new in 1.70
58+
Enabled: true
59+
Lint/CopDirectiveSyntax: # new in 1.72
60+
Enabled: true
61+
Lint/DeprecatedConstants: # new in 1.8
62+
Enabled: true
63+
Lint/DuplicateBranch: # new in 1.3
64+
Enabled: true
65+
Lint/DuplicateMagicComment: # new in 1.37
66+
Enabled: true
67+
Lint/DuplicateMatchPattern: # new in 1.50
68+
Enabled: true
69+
Lint/DuplicateRegexpCharacterClassElement: # new in 1.1
70+
Enabled: true
71+
Lint/DuplicateSetElement: # new in 1.67
72+
Enabled: true
73+
Lint/EmptyBlock: # new in 1.1
74+
Enabled: true
75+
Lint/EmptyClass: # new in 1.3
76+
Enabled: true
77+
Lint/EmptyInPattern: # new in 1.16
78+
Enabled: true
79+
Lint/HashNewWithKeywordArgumentsAsDefault: # new in 1.69
80+
Enabled: true
81+
Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
82+
Enabled: true
83+
Lint/ItWithoutArgumentsInBlock: # new in 1.59
84+
Enabled: true
85+
Lint/LambdaWithoutLiteralBlock: # new in 1.8
86+
Enabled: true
87+
Lint/LiteralAssignmentInCondition: # new in 1.58
88+
Enabled: true
89+
Lint/MixedCaseRange: # new in 1.53
90+
Enabled: true
91+
Lint/NoReturnInBeginEndBlocks: # new in 1.2
92+
Enabled: true
93+
Lint/NonAtomicFileOperation: # new in 1.31
94+
Enabled: true
95+
Lint/NumberedParameterAssignment: # new in 1.9
96+
Enabled: true
97+
Lint/NumericOperationWithConstantResult: # new in 1.69
98+
Enabled: true
99+
Lint/OrAssignmentToConstant: # new in 1.9
100+
Enabled: true
101+
Lint/RedundantDirGlobSort: # new in 1.8
102+
Enabled: true
103+
Lint/RedundantRegexpQuantifiers: # new in 1.53
104+
Enabled: true
105+
Lint/RedundantTypeConversion: # new in 1.72
106+
Enabled: true
107+
Lint/RefinementImportMethods: # new in 1.27
108+
Enabled: true
109+
Lint/RequireRangeParentheses: # new in 1.32
110+
Enabled: true
111+
Lint/RequireRelativeSelfPath: # new in 1.22
112+
Enabled: true
113+
Lint/SharedMutableDefault: # new in 1.70
114+
Enabled: true
115+
Lint/SuppressedExceptionInNumberConversion: # new in 1.72
116+
Enabled: true
117+
Lint/SymbolConversion: # new in 1.9
118+
Enabled: true
119+
Lint/ToEnumArguments: # new in 1.1
120+
Enabled: true
121+
Lint/TripleQuotes: # new in 1.9
122+
Enabled: true
123+
Lint/UnescapedBracketInRegexp: # new in 1.68
124+
Enabled: true
125+
Lint/UnexpectedBlockArity: # new in 1.5
126+
Enabled: true
127+
Lint/UnmodifiedReduceAccumulator: # new in 1.1
128+
Enabled: true
129+
Lint/UselessConstantScoping: # new in 1.72
130+
Enabled: true
131+
Lint/UselessDefaultValueArgument: # new in 1.76
132+
Enabled: true
133+
Lint/UselessDefined: # new in 1.69
134+
Enabled: true
135+
Lint/UselessNumericOperation: # new in 1.66
136+
Enabled: true
137+
Lint/UselessOr: # new in 1.76
138+
Enabled: true
139+
Lint/UselessRescue: # new in 1.43
140+
Enabled: true
141+
Lint/UselessRuby2Keywords: # new in 1.23
142+
Enabled: true
143+
Metrics/CollectionLiteralLength: # new in 1.47
144+
Enabled: true
145+
Naming/BlockForwarding: # new in 1.24
146+
Enabled: true
147+
Naming/PredicateMethod: # new in 1.76
148+
Enabled: true
149+
Security/CompoundHash: # new in 1.28
150+
Enabled: true
151+
Security/IoMethods: # new in 1.22
152+
Enabled: true
153+
Style/AmbiguousEndlessMethodDefinition: # new in 1.68
154+
Enabled: true
155+
Style/ArgumentsForwarding: # new in 1.1
156+
Enabled: true
157+
Style/ArrayIntersect: # new in 1.40
158+
Enabled: true
159+
Style/ArrayIntersectWithSingleElement: # new in 1.81
160+
Enabled: true
161+
Style/BitwisePredicate: # new in 1.68
162+
Enabled: true
163+
Style/CollectionCompact: # new in 1.2
164+
Enabled: true
165+
Style/CollectionQuerying: # new in 1.77
166+
Enabled: true
167+
Style/CombinableDefined: # new in 1.68
168+
Enabled: true
169+
Style/ComparableBetween: # new in 1.74
170+
Enabled: true
171+
Style/ComparableClamp: # new in 1.44
172+
Enabled: true
173+
Style/ConcatArrayLiterals: # new in 1.41
174+
Enabled: true
175+
Style/DataInheritance: # new in 1.49
176+
Enabled: true
177+
Style/DigChain: # new in 1.69
178+
Enabled: true
179+
Style/DirEmpty: # new in 1.48
180+
Enabled: true
181+
Style/DocumentDynamicEvalDefinition: # new in 1.1
182+
Enabled: true
183+
Style/EmptyHeredoc: # new in 1.32
184+
Enabled: true
185+
Style/EmptyStringInsideInterpolation: # new in 1.76
186+
Enabled: true
187+
Style/EndlessMethod: # new in 1.8
188+
Enabled: true
189+
Style/EnvHome: # new in 1.29
190+
Enabled: true
191+
Style/ExactRegexpMatch: # new in 1.51
192+
Enabled: true
193+
Style/FetchEnvVar: # new in 1.28
194+
Enabled: true
195+
Style/FileEmpty: # new in 1.48
196+
Enabled: true
197+
Style/FileNull: # new in 1.69
198+
Enabled: true
199+
Style/FileRead: # new in 1.24
200+
Enabled: true
201+
Style/FileTouch: # new in 1.69
202+
Enabled: true
203+
Style/FileWrite: # new in 1.24
204+
Enabled: true
205+
Style/HashConversion: # new in 1.10
206+
Enabled: true
207+
Style/HashExcept: # new in 1.7
208+
Enabled: true
209+
Style/HashFetchChain: # new in 1.75
210+
Enabled: true
211+
Style/HashSlice: # new in 1.71
212+
Enabled: true
213+
Style/IfWithBooleanLiteralBranches: # new in 1.9
214+
Enabled: true
215+
Style/InPatternThen: # new in 1.16
216+
Enabled: true
217+
Style/ItAssignment: # new in 1.70
218+
Enabled: true
219+
Style/ItBlockParameter: # new in 1.75
220+
Enabled: true
221+
Style/KeywordArgumentsMerging: # new in 1.68
222+
Enabled: true
223+
Style/MagicCommentFormat: # new in 1.35
224+
Enabled: true
225+
Style/MapCompactWithConditionalBlock: # new in 1.30
226+
Enabled: true
227+
Style/MapIntoArray: # new in 1.63
228+
Enabled: true
229+
Style/MapToHash: # new in 1.24
230+
Enabled: true
231+
Style/MapToSet: # new in 1.42
232+
Enabled: true
233+
Style/MinMaxComparison: # new in 1.42
234+
Enabled: true
235+
Style/MultilineInPatternThen: # new in 1.16
236+
Enabled: true
237+
Style/NegatedIfElseCondition: # new in 1.2
238+
Enabled: true
239+
Style/NestedFileDirname: # new in 1.26
240+
Enabled: true
241+
Style/NilLambda: # new in 1.3
242+
Enabled: true
243+
Style/NumberedParameters: # new in 1.22
244+
Enabled: true
245+
Style/NumberedParametersLimit: # new in 1.22
246+
Enabled: true
247+
Style/ObjectThen: # new in 1.28
248+
Enabled: true
249+
Style/OpenStructUse: # new in 1.23
250+
Enabled: true
251+
Style/OperatorMethodCall: # new in 1.37
252+
Enabled: true
253+
Style/QuotedSymbols: # new in 1.16
254+
Enabled: true
255+
Style/RedundantArgument: # new in 1.4
256+
Enabled: true
257+
Style/RedundantArrayConstructor: # new in 1.52
258+
Enabled: true
259+
Style/RedundantArrayFlatten: # new in 1.76
260+
Enabled: true
261+
Style/RedundantConstantBase: # new in 1.40
262+
Enabled: true
263+
Style/RedundantCurrentDirectoryInPath: # new in 1.53
264+
Enabled: true
265+
Style/RedundantDoubleSplatHashBraces: # new in 1.41
266+
Enabled: true
267+
Style/RedundantEach: # new in 1.38
268+
Enabled: true
269+
Style/RedundantFilterChain: # new in 1.52
270+
Enabled: true
271+
Style/RedundantFormat: # new in 1.72
272+
Enabled: true
273+
Style/RedundantHeredocDelimiterQuotes: # new in 1.45
274+
Enabled: true
275+
Style/RedundantInitialize: # new in 1.27
276+
Enabled: true
277+
Style/RedundantInterpolationUnfreeze: # new in 1.66
278+
Enabled: true
279+
Style/RedundantLineContinuation: # new in 1.49
280+
Enabled: true
281+
Style/RedundantRegexpArgument: # new in 1.53
282+
Enabled: true
283+
Style/RedundantRegexpConstructor: # new in 1.52
284+
Enabled: true
285+
Style/RedundantSelfAssignmentBranch: # new in 1.19
286+
Enabled: true
287+
Style/RedundantStringEscape: # new in 1.37
288+
Enabled: true
289+
Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
290+
Enabled: true
291+
Style/SafeNavigationChainLength: # new in 1.68
292+
Enabled: true
293+
Style/SelectByRegexp: # new in 1.22
294+
Enabled: true
295+
Style/SendWithLiteralMethodName: # new in 1.64
296+
Enabled: true
297+
Style/SingleLineDoEndBlock: # new in 1.57
298+
Enabled: true
299+
Style/StringChars: # new in 1.12
300+
Enabled: true
301+
Style/SuperArguments: # new in 1.64
302+
Enabled: true
303+
Style/SuperWithArgsParentheses: # new in 1.58
304+
Enabled: true
305+
Style/SwapValues: # new in 1.1
306+
Enabled: true
307+
Style/YAMLFileRead: # new in 1.53
308+
Enabled: true
309+
Performance/AncestorsInclude: # new in 1.7
310+
Enabled: true
311+
Performance/CollectionLiteralInLoop: # new in 1.8
312+
Enabled: true
313+
Performance/ConcurrentMonotonicTime: # new in 1.12
314+
Enabled: true
315+
Performance/ConstantRegexp: # new in 1.9
316+
Enabled: true
317+
Performance/MapCompact: # new in 1.11
318+
Enabled: true
319+
Performance/MapMethodChain: # new in 1.19
320+
Enabled: true
321+
Performance/MethodObjectAsBlock: # new in 1.9
322+
Enabled: true
323+
Performance/RedundantEqualityComparisonBlock: # new in 1.10
324+
Enabled: true
325+
Performance/RedundantSortBlock: # new in 1.7
326+
Enabled: true
327+
Performance/RedundantSplitRegexpArgument: # new in 1.10
328+
Enabled: true
329+
Performance/RedundantStringChars: # new in 1.7
330+
Enabled: true
331+
Performance/ReverseFirst: # new in 1.7
332+
Enabled: true
333+
Performance/SortReverse: # new in 1.7
334+
Enabled: true
335+
Performance/Squeeze: # new in 1.7
336+
Enabled: true
337+
Performance/StringBytesize: # new in 1.23
338+
Enabled: true
339+
Performance/StringIdentifierArgument: # new in 1.13
340+
Enabled: true
341+
Performance/StringInclude: # new in 1.7
342+
Enabled: true
343+
Performance/Sum: # new in 1.8
344+
Enabled: true
345+
Performance/ZipWithoutBlock: # new in 1.24
346+
Enabled: true

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ install_if -> { ENV.fetch('RAILS_VERSION', nil) } do
1010
end
1111

1212
group :development do
13+
gem 'base64'
14+
gem 'mutex_m'
15+
gem 'rake', '>= 12.3.3'
1316
gem 'rspec', '~> 3.0'
1417
gem 'simplecov', '~> 0.12'
1518
end

lograge-sql.gemspec

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,12 @@ Gem::Specification.new do |spec|
1515
spec.homepage = 'https://github.com/iMacTia/lograge-sql'
1616
spec.license = 'MIT'
1717

18+
spec.metadata['rubygems_mfa_required'] = 'true'
1819
spec.files = Dir['lib/**/*', 'Rakefile', 'README.md']
1920
spec.require_paths = ['lib']
2021

2122
spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
2223

2324
spec.add_dependency 'activerecord', '>= 5', '< 8.2'
2425
spec.add_dependency 'lograge', '~> 0.11'
25-
26-
spec.add_development_dependency 'rake', '>= 12.3.3'
2726
end

spec/spec_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
$LOAD_PATH.unshift File.expand_path('../lib', __dir__)
77
require 'delegate'
8+
require 'logger'
89
require 'lograge'
910
require 'lograge/sql'
1011
require 'lograge/active_record_log_subscriber'

0 commit comments

Comments
 (0)