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