gemaker 0.1.3 → 0.6.0

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