vedeu_cli 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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