data_migrate 9.2.0 → 11.2.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +36 -0
  3. data/README.md +20 -13
  4. data/lib/data_migrate/data_migrator.rb +5 -1
  5. data/lib/data_migrate/data_schema.rb +6 -6
  6. data/lib/data_migrate/database_configurations_wrapper.rb +11 -0
  7. data/lib/data_migrate/database_tasks.rb +218 -58
  8. data/lib/data_migrate/rails_helper.rb +15 -3
  9. data/lib/data_migrate/tasks/data_migrate_tasks.rb +8 -6
  10. data/lib/data_migrate/version.rb +1 -1
  11. data/lib/data_migrate.rb +1 -0
  12. data/lib/generators/data_migration/data_migration_generator.rb +2 -1
  13. data/tasks/databases.rake +9 -46
  14. metadata +8 -52
  15. data/.github/workflows/build.yml +0 -34
  16. data/.github/workflows/gempush.yml +0 -28
  17. data/.gitignore +0 -12
  18. data/.hound.yml +0 -4
  19. data/.overcommit.yml +0 -21
  20. data/.rbenv-gemsets +0 -2
  21. data/.rspec +0 -3
  22. data/.rubocop.yml +0 -2
  23. data/.ruby-style.yml +0 -1061
  24. data/Appraisals +0 -11
  25. data/Gemfile +0 -4
  26. data/Gemfile.lock +0 -148
  27. data/Gemfile.rails6.1 +0 -11
  28. data/Rakefile +0 -2
  29. data/data_migrate.gemspec +0 -41
  30. data/gemfiles/rails_6.1.gemfile +0 -8
  31. data/gemfiles/rails_6.1.gemfile.lock +0 -227
  32. data/gemfiles/rails_7.0.gemfile +0 -8
  33. data/gemfiles/rails_7.0.gemfile.lock +0 -229
  34. data/gemfiles/rails_7.1.gemfile +0 -8
  35. data/gemfiles/rails_7.1.gemfile.lock +0 -262
  36. data/screenshot.png +0 -0
  37. data/spec/data_migrate/config_spec.rb +0 -69
  38. data/spec/data_migrate/data_migrator_spec.rb +0 -83
  39. data/spec/data_migrate/data_schema_migration_spec.rb +0 -33
  40. data/spec/data_migrate/data_spec.rb +0 -74
  41. data/spec/data_migrate/database_tasks_spec.rb +0 -105
  42. data/spec/data_migrate/migration.rb +0 -17
  43. data/spec/data_migrate/migration_context_spec.rb +0 -108
  44. data/spec/data_migrate/schema_dumper_spec.rb +0 -36
  45. data/spec/data_migrate/schema_migration_spec.rb +0 -104
  46. data/spec/data_migrate/status_service_spec.rb +0 -76
  47. data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +0 -129
  48. data/spec/db/data/20091231235959_some_name.rb +0 -9
  49. data/spec/db/data/20171231235959_super_update.rb +0 -9
  50. data/spec/db/data/20181128000207_excluded_file.rb.other_ext +0 -1
  51. data/spec/db/data/partial_schema/data_schema.rb +0 -1
  52. data/spec/db/data/partial_schema/test_data_schema.rb +0 -1
  53. data/spec/db/data/schema/data_schema.rb +0 -1
  54. data/spec/db/data/schema/test_data_schema.rb +0 -1
  55. data/spec/db/migrate/20131111111111_late_migration.rb +0 -9
  56. data/spec/db/migrate/20202020202011_db_migration.rb +0 -9
  57. data/spec/generators/data_migration/data_migration_generator_spec.rb +0 -101
  58. data/spec/spec_helper.rb +0 -28
  59. data/tasks/.gitkeep +0 -0
data/.ruby-style.yml DELETED
@@ -1,1061 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.4
3
- Include:
4
- - "**/*.podspec"
5
- - "**/*.jbuilder"
6
- - "**/*.rake"
7
- - "**/*.opal"
8
- - "**/Gemfile"
9
- - "**/Rakefile"
10
- - "**/Capfile"
11
- - "**/Guardfile"
12
- - "**/Podfile"
13
- - "**/Thorfile"
14
- - "**/Vagrantfile"
15
- - "**/Berksfile"
16
- - "**/Cheffile"
17
- - "**/Vagabondfile"
18
- Exclude:
19
- - "**/*.gemspec"
20
- - "vendor/**/*"
21
- - "**/schema.rb"
22
- - "db/migrate/*"
23
- - "db/data/*"
24
- - "db/data_schema.rb"
25
- - "tasks/databases.rake"
26
- Rails/Date:
27
- EnforcedStyle: strict
28
- Style/FrozenStringLiteralComment:
29
- Enabled: false
30
- Layout/AccessModifierIndentation:
31
- Description: Check indentation of private/protected visibility modifiers.
32
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected
33
- Enabled: true
34
- EnforcedStyle: indent
35
- SupportedStyles:
36
- - outdent
37
- - indent
38
- Layout/AlignHash:
39
- Description: Align the elements of a hash literal if they span more than one line.
40
- Enabled: true
41
- EnforcedHashRocketStyle: key
42
- EnforcedColonStyle: key
43
- EnforcedLastArgumentHashStyle: always_inspect
44
- SupportedLastArgumentHashStyles:
45
- - always_inspect
46
- - always_ignore
47
- - ignore_implicit
48
- - ignore_explicit
49
- Layout/AlignParameters:
50
- Description: Align the parameters of a method call if they span more than one line.
51
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
52
- Enabled: true
53
- EnforcedStyle: with_first_parameter
54
- SupportedStyles:
55
- - with_first_parameter
56
- - with_fixed_indentation
57
- Style/AndOr:
58
- Description: Use &&/|| instead of and/or.
59
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-and-or-or
60
- Enabled: false
61
- EnforcedStyle: always
62
- SupportedStyles:
63
- - always
64
- - conditionals
65
- Style/BarePercentLiterals:
66
- Description: Checks if usage of %() or %Q() matches configuration.
67
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand
68
- Enabled: true
69
- EnforcedStyle: bare_percent
70
- SupportedStyles:
71
- - percent_q
72
- - bare_percent
73
- Style/BracesAroundHashParameters:
74
- Description: Enforce braces style around hash parameters.
75
- Enabled: false
76
- EnforcedStyle: no_braces
77
- SupportedStyles:
78
- - braces
79
- - no_braces
80
- - context_dependent
81
- Layout/CaseIndentation:
82
- Description: Indentation of when in a case/when/[else/]end.
83
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case
84
- Enabled: true
85
- EnforcedStyle: case
86
- SupportedStyles:
87
- - case
88
- - end
89
- IndentOneStep: false
90
- Style/ClassAndModuleChildren:
91
- Description: Checks style of children classes and modules.
92
- Enabled: false
93
- EnforcedStyle: nested
94
- SupportedStyles:
95
- - nested
96
- - compact
97
- Style/ClassCheck:
98
- Description: Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.
99
- Enabled: true
100
- EnforcedStyle: is_a?
101
- SupportedStyles:
102
- - is_a?
103
- - kind_of?
104
- Style/CollectionMethods:
105
- Description: Preferred collection methods.
106
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size
107
- Enabled: false
108
- PreferredMethods:
109
- collect: map
110
- collect!: map!
111
- find: detect
112
- find_all: select
113
- reduce: inject
114
- Style/CommentAnnotation:
115
- Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK,
116
- REVIEW).
117
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#annotate-keywords
118
- Enabled: false
119
- Keywords:
120
- - TODO
121
- - FIXME
122
- - OPTIMIZE
123
- - HACK
124
- - REVIEW
125
- Layout/MultilineMethodCallIndentation:
126
- EnforcedStyle: indented
127
- Enabled: true
128
- SupportedStyles:
129
- - aligned
130
- - indented
131
- - indented_relative_to_receiver
132
- Layout/DotPosition:
133
- Description: Checks the position of the dot in multi-line method calls.
134
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
135
- Enabled: false
136
- EnforcedStyle: leading
137
- SupportedStyles:
138
- - leading
139
- - trailing
140
- Layout/EmptyLineBetweenDefs:
141
- Description: Use empty lines between defs.
142
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods
143
- Enabled: true
144
- AllowAdjacentOneLineDefs: false
145
- Layout/EmptyLinesAroundBlockBody:
146
- Description: Keeps track of empty lines around block bodies.
147
- Enabled: false
148
- EnforcedStyle: no_empty_lines
149
- SupportedStyles:
150
- - empty_lines
151
- - no_empty_lines
152
- Layout/EmptyLinesAroundClassBody:
153
- Description: Keeps track of empty lines around class bodies.
154
- Enabled: false
155
- EnforcedStyle: no_empty_lines
156
- SupportedStyles:
157
- - empty_lines
158
- - no_empty_lines
159
- Layout/EmptyLinesAroundModuleBody:
160
- Description: Keeps track of empty lines around module bodies.
161
- Enabled: true
162
- EnforcedStyle: no_empty_lines
163
- SupportedStyles:
164
- - empty_lines
165
- - no_empty_lines
166
- Style/Encoding:
167
- Description: Use UTF-8 as the source file encoding.
168
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#utf-8
169
- Enabled: false
170
- Naming/FileName:
171
- Description: Use snake_case for source file names.
172
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
173
- Enabled: false
174
- Exclude: []
175
- Layout/FirstParameterIndentation:
176
- Description: Checks the indentation of the first parameter in a method call.
177
- Enabled: true
178
- EnforcedStyle: special_for_inner_method_call_in_parentheses
179
- SupportedStyles:
180
- - consistent
181
- - special_for_inner_method_call
182
- - special_for_inner_method_call_in_parentheses
183
- Style/For:
184
- Description: Checks use of for or each in multiline loops.
185
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-for-loops
186
- Enabled: true
187
- EnforcedStyle: each
188
- SupportedStyles:
189
- - for
190
- - each
191
- Style/FormatString:
192
- Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%.
193
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#sprintf
194
- Enabled: false
195
- EnforcedStyle: format
196
- SupportedStyles:
197
- - format
198
- - sprintf
199
- - percent
200
- Style/GlobalVars:
201
- Description: Do not introduce global variables.
202
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars
203
- Enabled: false
204
- AllowedVariables: []
205
- Style/GuardClause:
206
- Description: Check for conditionals that can be replaced with guard clauses
207
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
208
- Enabled: false
209
- MinBodyLength: 1
210
- Style/HashSyntax:
211
- Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a =>
212
- 1, :b => 2 }.'
213
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-literals
214
- Enabled: true
215
- EnforcedStyle: ruby19
216
- SupportedStyles:
217
- - ruby19
218
- - hash_rockets
219
- Style/IdenticalConditionalBranches:
220
- Description: >-
221
- Checks that conditional statements do not have an identical
222
- line at the end of each branch, which can validly be moved
223
- out of the conditional.
224
- Enabled: true
225
- Style/IfInsideElse:
226
- Description: 'Finds if nodes inside else, which can be converted to elsif.'
227
- Enabled: true
228
- Style/IfUnlessModifier:
229
- Description: >-
230
- Favor modifier if/unless usage when you have a
231
- single-line body.
232
- StyleGuide: '#if-as-a-modifier'
233
- Enabled: false
234
-
235
- Style/IfUnlessModifierOfIfUnless:
236
- Description: >-
237
- Avoid modifier if/unless usage on conditionals.
238
- Enabled: true
239
-
240
- Style/IfWithSemicolon:
241
- Description: 'Do not use if x; .... Use the ternary operator instead.'
242
- StyleGuide: '#no-semicolon-ifs'
243
- Enabled: true
244
-
245
- Style/InfiniteLoop:
246
- Description: 'Use Kernel#loop for infinite loops.'
247
- StyleGuide: '#infinite-loop'
248
- Enabled: true
249
-
250
- Style/InverseMethods:
251
- Description: >-
252
- Use the inverse method instead of `!.method`
253
- if an inverse method is defined.
254
- Enabled: true
255
- Layout/IndentationWidth:
256
- Description: Use 2 spaces for indentation.
257
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
258
- Enabled: true
259
- Width: 2
260
- Layout/IndentHash:
261
- Description: Checks the indentation of the first key in a hash literal.
262
- Enabled: true
263
- EnforcedStyle: consistent
264
- SupportedStyles:
265
- - consistent
266
- IndentationWidth: ~
267
- Style/LambdaCall:
268
- Description: Use lambda.call(...) instead of lambda.(...).
269
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call
270
- Enabled: false
271
- EnforcedStyle: call
272
- SupportedStyles:
273
- - call
274
- - braces
275
- Style/Next:
276
- Description: Use `next` to skip iteration instead of a condition at the end.
277
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
278
- Enabled: false
279
- EnforcedStyle: skip_modifier_ifs
280
- MinBodyLength: 3
281
- SupportedStyles:
282
- - skip_modifier_ifs
283
- - always
284
- Style/NonNilCheck:
285
- Description: Checks for redundant nil checks.
286
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks
287
- Enabled: true
288
- IncludeSemanticChanges: false
289
- Style/MethodDefParentheses:
290
- Description: Checks if the method definitions have or don't have parentheses.
291
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
292
- Enabled: true
293
- EnforcedStyle: require_parentheses
294
- SupportedStyles:
295
- - require_parentheses
296
- - require_no_parentheses
297
- Naming/MethodName:
298
- Description: Use the configured style when naming methods.
299
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
300
- Enabled: true
301
- EnforcedStyle: snake_case
302
- SupportedStyles:
303
- - snake_case
304
- - camelCase
305
- Layout/MultilineOperationIndentation:
306
- Description: Checks indentation of binary operations that span more than one line.
307
- Enabled: true
308
- EnforcedStyle: aligned
309
- SupportedStyles:
310
- - aligned
311
- - indented
312
- Style/NumericLiterals:
313
- Description: Add underscores to large numeric literals to improve their readability.
314
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics
315
- Enabled: false
316
- MinDigits: 5
317
- Style/ParenthesesAroundCondition:
318
- Description: Don't use parentheses around the condition of an if/unless/while.
319
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-parens-if
320
- Enabled: true
321
- AllowSafeAssignment: true
322
- Style/PercentLiteralDelimiters:
323
- Description: Use `%`-literal delimiters consistently
324
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
325
- Enabled: false
326
- PreferredDelimiters:
327
- "%": "()"
328
- "%i": "()"
329
- "%q": "()"
330
- "%Q": "()"
331
- "%r": "{}"
332
- "%s": "()"
333
- "%w": "()"
334
- "%W": "()"
335
- "%x": "()"
336
- Style/PercentQLiterals:
337
- Description: Checks if uses of %Q/%q match the configured preference.
338
- Enabled: true
339
- EnforcedStyle: lower_case_q
340
- SupportedStyles:
341
- - lower_case_q
342
- - upper_case_q
343
- Naming/PredicateName:
344
- Description: Check the names of predicate methods.
345
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
346
- Enabled: true
347
- NamePrefix:
348
- - is_
349
- - has_
350
- - have_
351
- NamePrefixBlacklist:
352
- - is_
353
- Exclude:
354
- - spec/**/*
355
- Style/RaiseArgs:
356
- Description: Checks the arguments passed to raise/fail.
357
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
358
- Enabled: false
359
- EnforcedStyle: exploded
360
- SupportedStyles:
361
- - compact
362
- - exploded
363
- Style/RedundantReturn:
364
- Description: Don't use return where it's not required.
365
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-return
366
- Enabled: true
367
- AllowMultipleReturnValues: false
368
- Style/RegexpLiteral:
369
- Description: Use %r for regular expressions matching more than `MaxSlashes` '/'
370
- characters. Use %r only for regular expressions matching more than `MaxSlashes`
371
- '/' character.
372
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-r
373
- Enabled: false
374
- Style/Semicolon:
375
- Description: Don't use semicolons to terminate expressions.
376
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon
377
- Enabled: true
378
- AllowAsExpressionSeparator: false
379
- Style/SignalException:
380
- Description: Checks for proper usage of fail and raise.
381
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
382
- Enabled: false
383
- EnforcedStyle: semantic
384
- SupportedStyles:
385
- - only_raise
386
- - only_fail
387
- - semantic
388
- Style/SingleLineBlockParams:
389
- Description: Enforces the names of some block params.
390
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
391
- Enabled: false
392
- Methods:
393
- - reduce:
394
- - a
395
- - e
396
- - inject:
397
- - a
398
- - e
399
- Style/SingleLineMethods:
400
- Description: Avoid single-line methods.
401
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
402
- Enabled: false
403
- AllowIfMethodIsEmpty: true
404
- Style/StringLiterals:
405
- Description: Checks if uses of quotes match the configured preference.
406
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
407
- Enabled: true
408
- EnforcedStyle: double_quotes
409
- SupportedStyles:
410
- - single_quotes
411
- - double_quotes
412
- Style/StringLiteralsInInterpolation:
413
- Description: Checks if uses of quotes inside expressions in interpolated strings
414
- match the configured preference.
415
- Enabled: false
416
- EnforcedStyle: single_quotes
417
- SupportedStyles:
418
- - single_quotes
419
- - double_quotes
420
- Layout/SpaceAroundBlockParameters:
421
- Description: Checks the spacing inside and after block parameters pipes.
422
- Enabled: false
423
- EnforcedStyleInsidePipes: no_space
424
- Layout/SpaceAroundEqualsInParameterDefault:
425
- Description: Checks that the equals signs in parameter default assignments have
426
- or don't have surrounding space depending on configuration.
427
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-around-equals
428
- Enabled: true
429
- EnforcedStyle: space
430
- SupportedStyles:
431
- - space
432
- - no_space
433
- Layout/SpaceBeforeBlockBraces:
434
- Description: Checks that the left block brace has or doesn't have space before it.
435
- Enabled: true
436
- EnforcedStyle: space
437
- SupportedStyles:
438
- - space
439
- - no_space
440
- Layout/SpaceInsideBlockBraces:
441
- Description: Checks that block braces have or don't have surrounding space. For
442
- blocks taking parameters, checks that the left brace has or doesn't have trailing
443
- space.
444
- Enabled: false
445
- EnforcedStyle: space
446
- SupportedStyles:
447
- - space
448
- - no_space
449
- EnforcedStyleForEmptyBraces: no_space
450
- SpaceBeforeBlockParameters: true
451
- Layout/SpaceInsideHashLiteralBraces:
452
- Description: Use spaces inside hash literal braces - or don't.
453
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
454
- Enabled: false
455
- EnforcedStyle: space
456
- EnforcedStyleForEmptyBraces: no_space
457
- SupportedStyles:
458
- - space
459
- - no_space
460
- Style/SymbolProc:
461
- Description: Use symbols as procs instead of blocks when possible.
462
- Enabled: true
463
- IgnoredMethods:
464
- - respond_to
465
- Layout/TrailingBlankLines:
466
- Description: Checks trailing blank lines and final newline.
467
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof
468
- Enabled: true
469
- EnforcedStyle: final_newline
470
- SupportedStyles:
471
- - final_newline
472
- - final_blank_line
473
- Style/TrivialAccessors:
474
- Description: Prefer attr_* methods to trivial readers/writers.
475
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr_family
476
- Enabled: false
477
- ExactNameMatch: false
478
- AllowPredicates: false
479
- AllowDSLWriters: false
480
- Whitelist:
481
- - to_ary
482
- - to_a
483
- - to_c
484
- - to_enum
485
- - to_h
486
- - to_hash
487
- - to_i
488
- - to_int
489
- - to_io
490
- - to_open
491
- - to_path
492
- - to_proc
493
- - to_r
494
- - to_regexp
495
- - to_str
496
- - to_s
497
- - to_sym
498
- Naming/VariableName:
499
- Description: Use the configured style when naming variables.
500
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
501
- Enabled: true
502
- EnforcedStyle: snake_case
503
- SupportedStyles:
504
- - snake_case
505
- - camelCase
506
- Style/WhileUntilModifier:
507
- Description: Favor modifier while/until usage when you have a single-line body.
508
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier
509
- Enabled: false
510
- Style/WordArray:
511
- Description: Use %w or %W for arrays of words.
512
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-w
513
- Enabled: false
514
- MinSize: 0
515
- WordRegex: !ruby/regexp /\A[\p{Word}]+\z/
516
- Metrics/BlockLength:
517
- Enabled: true
518
- Exclude:
519
- - '**/spec/**/*'
520
- - '**/script/**/*'
521
- Metrics/AbcSize:
522
- Description: A calculated magnitude based on number of assignments, branches, and
523
- conditions.
524
- Enabled: true
525
- Max: 27
526
- Exclude:
527
- - "db/data/*.rb"
528
- Metrics/BlockNesting:
529
- Description: Avoid excessive block nesting
530
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
531
- Enabled: false
532
- Max: 3
533
- Metrics/ClassLength:
534
- Description: Avoid classes longer than 100 lines of code.
535
- Enabled: false
536
- CountComments: false
537
- Max: 100
538
- Metrics/CyclomaticComplexity:
539
- Description: A complexity metric that is strongly correlated to the number of test
540
- cases needed to validate a method.
541
- Enabled: false
542
- Max: 6
543
- Metrics/LineLength:
544
- Description: Limit lines to 120 characters.
545
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
546
- Enabled: true
547
- Max: 120
548
- AllowURI: true
549
- URISchemes:
550
- - http
551
- - https
552
- Metrics/MethodLength:
553
- Description: Avoid methods longer than 10 lines of code.
554
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
555
- Enabled: true
556
- CountComments: true
557
- Max: 20
558
- Exclude:
559
- - "db/data/*.rb"
560
- Metrics/ParameterLists:
561
- Description: Avoid parameter lists longer than three or four parameters.
562
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
563
- Enabled: false
564
- Max: 5
565
- CountKeywordArgs: true
566
- Metrics/PerceivedComplexity:
567
- Description: A complexity metric geared towards measuring complexity for a human
568
- reader.
569
- Enabled: false
570
- Max: 7
571
- Lint/AssignmentInCondition:
572
- Description: Don't use assignment in conditions.
573
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
574
- Enabled: false
575
- AllowSafeAssignment: true
576
- Rails/ActionFilter:
577
- Description: Enforces consistent use of action filter methods.
578
- Enabled: false
579
- EnforcedStyle: action
580
- SupportedStyles:
581
- - action
582
- - filter
583
- Include:
584
- - app/controllers/**/*.rb
585
- Rails/HasAndBelongsToMany:
586
- Description: Prefer has_many :through to has_and_belongs_to_many.
587
- Enabled: true
588
- Include:
589
- - app/models/**/*.rb
590
- Rails/Output:
591
- Description: Checks for calls to puts, print, etc.
592
- Enabled: true
593
- Include:
594
- - app/**/*.rb
595
- - config/**/*.rb
596
- - db/**/*.rb
597
- - lib/**/*.rb
598
- Rails/ReadWriteAttribute:
599
- Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
600
- Enabled: true
601
- Include:
602
- - app/models/**/*.rb
603
- Rails/ScopeArgs:
604
- Description: Checks the arguments of ActiveRecord scopes.
605
- Enabled: true
606
- Include:
607
- - app/models/**/*.rb
608
- Rails/Validation:
609
- Description: Use validates :attribute, hash of validations.
610
- Enabled: true
611
- Include:
612
- - app/models/**/*.rb
613
- Style/InlineComment:
614
- Description: Avoid inline comments.
615
- Enabled: false
616
- Style/MethodCalledOnDoEndBlock:
617
- Description: Avoid chaining a method call on a do...end block.
618
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
619
- Enabled: false
620
- Style/SymbolArray:
621
- Description: Use %i or %I for arrays of symbols.
622
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-i
623
- Enabled: false
624
- Layout/ExtraSpacing:
625
- Description: Do not use unnecessary spacing.
626
- Enabled: false
627
- Naming/AccessorMethodName:
628
- Description: Check the naming of accessor methods for get_/set_.
629
- Enabled: false
630
- Style/Alias:
631
- Description: Use alias_method instead of alias.
632
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
633
- Enabled: false
634
- Layout/AlignArray:
635
- Description: Align the elements of an array literal if they span more than one line.
636
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays
637
- Enabled: true
638
- Style/ArrayJoin:
639
- Description: Use Array#join instead of Array#*.
640
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join
641
- Enabled: false
642
- Style/AsciiComments:
643
- Description: Use only ascii symbols in comments.
644
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-comments
645
- Enabled: false
646
- Naming/AsciiIdentifiers:
647
- Description: Use only ascii symbols in identifiers.
648
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers
649
- Enabled: false
650
- Style/Attr:
651
- Description: Checks for uses of Module#attr.
652
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr
653
- Enabled: false
654
- Style/BeginBlock:
655
- Description: Avoid the use of BEGIN blocks.
656
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks
657
- Enabled: true
658
- Style/BlockComments:
659
- Description: Do not use block comments.
660
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-block-comments
661
- Enabled: true
662
- Layout/BlockEndNewline:
663
- Description: Put end statement of multiline block on its own line.
664
- Enabled: true
665
- Style/BlockDelimiters:
666
- Enabled: false
667
- Style/CaseEquality:
668
- Description: Avoid explicit use of the case equality operator(===).
669
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality
670
- Enabled: false
671
- Style/CharacterLiteral:
672
- Description: Checks for uses of character literals.
673
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-character-literals
674
- Enabled: false
675
- Naming/ClassAndModuleCamelCase:
676
- Description: Use CamelCase for classes and modules.
677
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#camelcase-classes
678
- Enabled: true
679
- Style/ClassMethods:
680
- Description: Use self when defining module/class methods.
681
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#def-self-singletons
682
- Enabled: true
683
- Style/ClassVars:
684
- Description: Avoid the use of class variables.
685
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-class-vars
686
- Enabled: false
687
- Style/ColonMethodCall:
688
- Description: 'Do not use :: for method call.'
689
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#double-colons
690
- Enabled: false
691
- Layout/CommentIndentation:
692
- Description: Indentation of comments.
693
- Enabled: true
694
- Naming/ConstantName:
695
- Description: Constants should use SCREAMING_SNAKE_CASE.
696
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#screaming-snake-case
697
- Enabled: true
698
- Style/DefWithParentheses:
699
- Description: Use def with parentheses when there are arguments.
700
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
701
- Enabled: true
702
- Style/PreferredHashMethods:
703
- Description: Checks for use of deprecated Hash methods.
704
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-key
705
- Enabled: false
706
- Style/Documentation:
707
- Description: Document classes and non-namespace modules.
708
- Enabled: false
709
- Style/DoubleNegation:
710
- Description: Checks for uses of double negation (!!).
711
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
712
- Enabled: false
713
- Style/EachWithObject:
714
- Description: Prefer `each_with_object` over `inject` or `reduce`.
715
- Enabled: false
716
- Layout/ElseAlignment:
717
- Description: Align elses and elsifs correctly.
718
- Enabled: true
719
- Style/EmptyElse:
720
- Description: Avoid empty else-clauses.
721
- Enabled: true
722
- Layout/EmptyLines:
723
- Description: Don't use several empty lines in a row.
724
- Enabled: false
725
- Layout/EmptyLinesAroundAccessModifier:
726
- Description: Keep blank lines around access modifiers.
727
- Enabled: true
728
- Layout/EmptyLinesAroundMethodBody:
729
- Description: Keeps track of empty lines around method bodies.
730
- Enabled: true
731
- Style/EmptyLiteral:
732
- Description: Prefer literals to Array.new/Hash.new/String.new.
733
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
734
- Enabled: false
735
- Style/EndBlock:
736
- Description: Avoid the use of END blocks.
737
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-END-blocks
738
- Enabled: true
739
- Layout/EndOfLine:
740
- Description: Use Unix-style line endings.
741
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#crlf
742
- Enabled: true
743
- EnforcedStyle: lf
744
- Style/EvenOdd:
745
- Description: Favor the use of Fixnum#even? && Fixnum#odd?
746
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
747
- Enabled: false
748
- Style/FlipFlop:
749
- Description: Checks for flip flops
750
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
751
- Enabled: false
752
- Style/IfWithSemicolon:
753
- Description: Do not use if x; .... Use the ternary operator instead.
754
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs
755
- Enabled: false
756
- Layout/IndentationConsistency:
757
- Description: Keep indentation straight.
758
- Enabled: true
759
- Layout/IndentArray:
760
- Description: Checks the indentation of the first element in an array literal.
761
- Enabled: true
762
- Style/InfiniteLoop:
763
- Description: Use Kernel#loop for infinite loops.
764
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#infinite-loop
765
- Enabled: true
766
- Style/Lambda:
767
- Description: Use the new lambda literal syntax for single-line blocks.
768
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#lambda-multi-line
769
- Enabled: false
770
- Layout/LeadingCommentSpace:
771
- Description: Comments should start with a space.
772
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-space
773
- Enabled: false
774
- Style/LineEndConcatenation:
775
- Description: Use \ instead of + or << to concatenate two string literals at line
776
- end.
777
- Enabled: false
778
- Style/MethodCallWithoutArgsParentheses:
779
- Description: Do not use parentheses for method calls with no arguments.
780
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-args-no-parens
781
- Enabled: true
782
- Style/ModuleFunction:
783
- Description: Checks for usage of `extend self` in modules.
784
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
785
- Enabled: false
786
- Style/MultilineBlockChain:
787
- Description: Avoid multi-line chains of blocks.
788
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
789
- Enabled: false
790
- Layout/MultilineBlockLayout:
791
- Description: Ensures newlines after multiline block do statements.
792
- Enabled: true
793
- Style/MultilineIfThen:
794
- Description: Do not use then for multi-line if/unless.
795
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-then
796
- Enabled: true
797
- Style/MultilineTernaryOperator:
798
- Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.'
799
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary
800
- Enabled: false
801
- Style/NegatedIf:
802
- Description: Favor unless over if for negative conditions (or control flow or).
803
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#unless-for-negatives
804
- Enabled: false
805
- Style/NegatedWhile:
806
- Description: Favor until over while for negative conditions.
807
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#until-for-negatives
808
- Enabled: false
809
- Style/NestedTernaryOperator:
810
- Description: Use one expression per branch in a ternary operator.
811
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-ternary
812
- Enabled: true
813
- Style/NilComparison:
814
- Description: Prefer x.nil? to x == nil.
815
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
816
- Enabled: false
817
- Style/Not:
818
- Description: Use ! instead of not.
819
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#bang-not-not
820
- Enabled: false
821
- Style/OneLineConditional:
822
- Description: Favor the ternary operator(?:) over if/then/else/end constructs.
823
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
824
- Enabled: false
825
- Style/PerlBackrefs:
826
- Description: Avoid Perl-style regex back references.
827
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
828
- Enabled: false
829
- Style/Proc:
830
- Description: Use proc instead of Proc.new.
831
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc
832
- Enabled: false
833
- Style/RedundantBegin:
834
- Description: Don't use begin blocks when they are not needed.
835
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#begin-implicit
836
- Enabled: true
837
- Style/RedundantException:
838
- Description: Checks for an obsolete RuntimeException argument in raise/fail.
839
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror
840
- Enabled: true
841
- Style/RedundantSelf:
842
- Description: Don't use self where it's not needed.
843
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-self-unless-required
844
- Enabled: false
845
- Style/RescueModifier:
846
- Description: Avoid using rescue in its modifier form.
847
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers
848
- Enabled: true
849
- Style/SelfAssignment:
850
- Description: Checks for places where self-assignment shorthand should have been
851
- used.
852
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#self-assignment
853
- Enabled: false
854
- Layout/SpaceAfterColon:
855
- Description: Use spaces after colons.
856
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
857
- Enabled: true
858
- Layout/SpaceAfterComma:
859
- Description: Use spaces after commas.
860
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
861
- Enabled: true
862
- Layout/SpaceAfterMethodName:
863
- Description: Do not put a space between a method name and the opening parenthesis
864
- in a method definition.
865
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
866
- Enabled: true
867
- Layout/SpaceAfterNot:
868
- Description: Tracks redundant space after the ! operator.
869
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-bang
870
- Enabled: true
871
- Layout/SpaceAfterSemicolon:
872
- Description: Use spaces after semicolons.
873
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
874
- Enabled: true
875
- Layout/SpaceBeforeComma:
876
- Description: No spaces before commas.
877
- Enabled: true
878
- Layout/SpaceBeforeComment:
879
- Description: Checks for missing space between code and a comment on the same line.
880
- Enabled: false
881
- Layout/SpaceBeforeSemicolon:
882
- Description: No spaces before semicolons.
883
- Enabled: true
884
- Layout/SpaceAroundOperators:
885
- Description: Use spaces around operators.
886
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
887
- Enabled: false
888
- Layout/SpaceInsideParens:
889
- Description: No spaces after ( or before ).
890
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces
891
- Enabled: false
892
- Layout/SpaceInsideRangeLiteral:
893
- Description: No spaces inside range literals.
894
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals
895
- Enabled: true
896
- Style/SpecialGlobalVars:
897
- Description: Avoid Perl-style global variables.
898
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
899
- Enabled: false
900
-
901
- Style/StructInheritance:
902
- Description: Checks for inheritance from Struct.new.
903
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new
904
- Enabled: true
905
- Layout/Tab:
906
- Description: No hard tabs.
907
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
908
- Enabled: true
909
- Layout/TrailingWhitespace:
910
- Description: Avoid trailing whitespace.
911
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace
912
- Enabled: true
913
- Style/UnlessElse:
914
- Description: Do not use unless with else. Rewrite these with the positive case first.
915
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless
916
- Enabled: true
917
- Style/UnneededCapitalW:
918
- Description: Checks for %W when interpolation is not needed.
919
- Enabled: true
920
- Style/UnneededPercentQ:
921
- Description: Checks for %q/%Q when single quotes or double quotes would do.
922
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q
923
- Enabled: true
924
- Style/VariableInterpolation:
925
- Description: Don't interpolate global, instance and class variables directly in
926
- strings.
927
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
928
- Enabled: false
929
- Style/WhenThen:
930
- Description: Use when x then ... for one-line cases.
931
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
932
- Enabled: false
933
- Style/WhileUntilDo:
934
- Description: Checks for redundant do after while or until.
935
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do
936
- Enabled: true
937
- Lint/AmbiguousOperator:
938
- Description: Checks for ambiguous operators in the first argument of a method invocation
939
- without parentheses.
940
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args
941
- Enabled: false
942
- Lint/AmbiguousRegexpLiteral:
943
- Description: Checks for ambiguous regexp literals in the first argument of a method
944
- invocation without parenthesis.
945
- Enabled: false
946
- Lint/BlockAlignment:
947
- Description: Align block ends correctly.
948
- Enabled: true
949
- Lint/ConditionPosition:
950
- Description: Checks for condition placed in a confusing position relative to the
951
- keyword.
952
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
953
- Enabled: false
954
- Lint/Debugger:
955
- Description: Check for debugger calls.
956
- Enabled: false
957
- Lint/DeprecatedClassMethods:
958
- Description: Check for deprecated class method calls.
959
- Enabled: false
960
- Lint/DuplicateMethods:
961
- Description: Check for duplicate methods calls.
962
- Enabled: true
963
- Lint/ElseLayout:
964
- Description: Check for odd code arrangement in an else block.
965
- Enabled: false
966
- Lint/EmptyEnsure:
967
- Description: Checks for empty ensure block.
968
- Enabled: true
969
- Lint/EmptyInterpolation:
970
- Description: Checks for empty string interpolation.
971
- Enabled: true
972
- Lint/EndInMethod:
973
- Description: END blocks should not be placed inside method definitions.
974
- Enabled: true
975
- Lint/EnsureReturn:
976
- Description: Do not use return in an ensure block.
977
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
978
- Enabled: true
979
- Security/Eval:
980
- Description: The use of eval represents a serious security risk.
981
- Enabled: true
982
- Lint/HandleExceptions:
983
- Description: Don't suppress exception.
984
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
985
- Enabled: false
986
- Lint/LiteralInInterpolation:
987
- Description: Checks for literals used in interpolation.
988
- Enabled: false
989
- Lint/Loop:
990
- Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
991
- for post-loop tests.
992
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
993
- Enabled: false
994
- Lint/ParenthesesAsGroupedExpression:
995
- Description: Checks for method calls with a space before the opening parenthesis.
996
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
997
- Enabled: false
998
- Lint/RequireParentheses:
999
- Description: Use parentheses in the method call to avoid confusion about precedence.
1000
- Enabled: false
1001
- Lint/RescueException:
1002
- Description: Avoid rescuing the Exception class.
1003
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-blind-rescues
1004
- Enabled: true
1005
- Lint/ShadowingOuterLocalVariable:
1006
- Description: Do not use the same name as outer local variable for block arguments
1007
- or block local variables.
1008
- Enabled: true
1009
- Layout/SpaceBeforeFirstArg:
1010
- Description: Put a space between a method name and the first argument in a method
1011
- call without parentheses.
1012
- Enabled: true
1013
- Lint/StringConversionInInterpolation:
1014
- Description: Checks for Object#to_s usage in string interpolation.
1015
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s
1016
- Enabled: true
1017
- Lint/UnderscorePrefixedVariableName:
1018
- Description: Do not use prefix `_` for a variable that is used.
1019
- Enabled: false
1020
- Lint/UnusedBlockArgument:
1021
- Description: Checks for unused block arguments.
1022
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1023
- Enabled: true
1024
- Lint/UnusedMethodArgument:
1025
- Description: Checks for unused method arguments.
1026
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1027
- Enabled: true
1028
- Lint/UnreachableCode:
1029
- Description: Unreachable code.
1030
- Enabled: true
1031
- Lint/UselessAccessModifier:
1032
- Description: Checks for useless access modifiers.
1033
- Enabled: true
1034
- Lint/UselessAssignment:
1035
- Description: Checks for useless assignment to a local variable.
1036
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1037
- Enabled: true
1038
- Lint/UselessComparison:
1039
- Description: Checks for comparison of something with itself.
1040
- Enabled: true
1041
- Lint/UselessElseWithoutRescue:
1042
- Description: Checks for useless `else` in `begin..end` without `rescue`.
1043
- Enabled: true
1044
- Lint/UselessSetterCall:
1045
- Description: Checks for useless setter call to a local variable.
1046
- Enabled: true
1047
- Lint/Void:
1048
- Description: Possible use of operator/literal/variable in void context.
1049
- Enabled: false
1050
- Rails/Delegate:
1051
- Description: Prefer delegate method for delegations.
1052
- Enabled: false
1053
- Style/FrozenStringLiteralComment:
1054
- Description: >-
1055
- Add the frozen_string_literal comment to the top of files
1056
- to help transition from Ruby 2.3.0 to Ruby 3.0.
1057
- Enabled: false
1058
- Layout/SpaceBeforeFirstArg:
1059
- Enabled: false
1060
- Style/FormatStringToken:
1061
- Enabled: false