reactrb 0.8.8 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +24 -3
  3. data/.gitignore +3 -0
  4. data/.rubocop.yml +1154 -3
  5. data/.travis.yml +20 -0
  6. data/Appraisals +20 -0
  7. data/CHANGELOG.md +28 -3
  8. data/Gemfile +4 -5
  9. data/README.md +6 -9
  10. data/Rakefile +6 -1
  11. data/config.ru +7 -6
  12. data/gemfiles/opal_0.8_react_13.gemfile +13 -0
  13. data/gemfiles/opal_0.8_react_14.gemfile +13 -0
  14. data/gemfiles/opal_0.8_react_15.gemfile +13 -0
  15. data/gemfiles/opal_0.9_react_13.gemfile +13 -0
  16. data/gemfiles/opal_0.9_react_14.gemfile +13 -0
  17. data/gemfiles/opal_0.9_react_15.gemfile +13 -0
  18. data/lib/generators/reactive_ruby/test_app/templates/assets/javascripts/components.rb +1 -1
  19. data/lib/rails-helpers/top_level_rails_component.rb +1 -1
  20. data/lib/react-sources/react-server.js +2 -0
  21. data/lib/react/api.rb +13 -12
  22. data/lib/react/children.rb +30 -0
  23. data/lib/react/component.rb +27 -46
  24. data/lib/react/component/class_methods.rb +28 -32
  25. data/lib/react/component/dsl_instance_methods.rb +4 -34
  26. data/lib/react/component/params.rb +6 -0
  27. data/lib/react/component/props_wrapper.rb +22 -27
  28. data/lib/react/component/should_component_update.rb +98 -0
  29. data/lib/react/component/tags.rb +45 -4
  30. data/lib/react/element.rb +26 -13
  31. data/lib/react/object.rb +15 -0
  32. data/lib/react/react-source.rb +9 -0
  33. data/lib/react/rendering_context.rb +97 -93
  34. data/lib/react/state.rb +27 -21
  35. data/lib/react/test.rb +16 -0
  36. data/lib/react/test/dsl.rb +17 -0
  37. data/lib/react/test/matchers/render_html_matcher.rb +49 -0
  38. data/lib/react/test/rspec.rb +15 -0
  39. data/lib/react/test/session.rb +46 -0
  40. data/lib/react/top_level.rb +50 -14
  41. data/lib/react/validator.rb +5 -5
  42. data/lib/reactive-ruby/isomorphic_helpers.rb +0 -7
  43. data/lib/reactive-ruby/version.rb +1 -1
  44. data/lib/reactrb.rb +14 -14
  45. data/lib/reactrb/deep-compare.rb +24 -0
  46. data/lib/sources/react-latest.js +2 -0
  47. data/lib/sources/react-v13.js +4 -1
  48. data/lib/sources/react-v14.js +3 -84
  49. data/lib/sources/react-v15.js +3 -0
  50. data/logo1.png +0 -0
  51. data/logo2.png +0 -0
  52. data/logo3.png +0 -0
  53. data/path_release_steps.md +1 -1
  54. data/reactrb.gemspec +2 -3
  55. data/spec/react/children_spec.rb +76 -0
  56. data/spec/react/component/base_spec.rb +3 -7
  57. data/spec/react/component_spec.rb +181 -60
  58. data/spec/react/dsl_spec.rb +26 -19
  59. data/spec/react/element_spec.rb +16 -1
  60. data/spec/react/native_library_spec.rb +20 -0
  61. data/spec/react/opal_jquery_extensions_spec.rb +27 -0
  62. data/spec/react/param_declaration_spec.rb +47 -78
  63. data/spec/react/react_spec.rb +7 -9
  64. data/spec/react/state_spec.rb +29 -0
  65. data/spec/react/test/dsl_spec.rb +43 -0
  66. data/spec/react/test/matchers/render_html_matcher_spec.rb +83 -0
  67. data/spec/react/test/rspec_spec.rb +62 -0
  68. data/spec/react/test/session_spec.rb +100 -0
  69. data/spec/react/test/utils_spec.rb +45 -0
  70. data/spec/react/top_level_component_spec.rb +33 -5
  71. data/spec/react/tutorial/tutorial_spec.rb +5 -5
  72. data/spec/react/validator_spec.rb +10 -13
  73. data/spec/reactive-ruby/component_loader_spec.rb +3 -0
  74. data/spec/reactive-ruby/rails/asset_pipeline_spec.rb +5 -4
  75. data/spec/spec_helper.rb +6 -3
  76. data/spec/support/react/spec_helpers.rb +9 -2
  77. metadata +47 -124
  78. data/example/examples/Gemfile +0 -7
  79. data/example/examples/app/basics.js.rb +0 -42
  80. data/example/examples/app/items.rb +0 -11
  81. data/example/examples/app/jquery.js +0 -5
  82. data/example/examples/app/nodes.rb +0 -61
  83. data/example/examples/app/react-router.js +0 -6
  84. data/example/examples/app/react_api_demo.rb +0 -29
  85. data/example/examples/app/rerendering.rb +0 -72
  86. data/example/examples/app/reuse.rb +0 -59
  87. data/example/examples/app/show.rb +0 -52
  88. data/example/examples/config.ru +0 -38
  89. data/example/rails-tutorial/.gitignore +0 -17
  90. data/example/rails-tutorial/Gemfile +0 -51
  91. data/example/rails-tutorial/README.rdoc +0 -28
  92. data/example/rails-tutorial/Rakefile +0 -6
  93. data/example/rails-tutorial/app/assets/images/.keep +0 -0
  94. data/example/rails-tutorial/app/assets/javascripts/application.rb +0 -15
  95. data/example/rails-tutorial/app/assets/stylesheets/application.css +0 -15
  96. data/example/rails-tutorial/app/controllers/application_controller.rb +0 -6
  97. data/example/rails-tutorial/app/controllers/concerns/.keep +0 -0
  98. data/example/rails-tutorial/app/controllers/home_controller.rb +0 -6
  99. data/example/rails-tutorial/app/helpers/application_helper.rb +0 -2
  100. data/example/rails-tutorial/app/mailers/.keep +0 -0
  101. data/example/rails-tutorial/app/models/.keep +0 -0
  102. data/example/rails-tutorial/app/models/concerns/.keep +0 -0
  103. data/example/rails-tutorial/app/views/components.rb +0 -3
  104. data/example/rails-tutorial/app/views/components/home/show.rb +0 -47
  105. data/example/rails-tutorial/app/views/layouts/application.html.erb +0 -14
  106. data/example/rails-tutorial/bin/bundle +0 -3
  107. data/example/rails-tutorial/bin/rails +0 -8
  108. data/example/rails-tutorial/bin/rake +0 -8
  109. data/example/rails-tutorial/bin/setup +0 -29
  110. data/example/rails-tutorial/bin/spring +0 -15
  111. data/example/rails-tutorial/config.ru +0 -4
  112. data/example/rails-tutorial/config/application.rb +0 -26
  113. data/example/rails-tutorial/config/boot.rb +0 -3
  114. data/example/rails-tutorial/config/database.yml +0 -25
  115. data/example/rails-tutorial/config/environment.rb +0 -5
  116. data/example/rails-tutorial/config/environments/development.rb +0 -41
  117. data/example/rails-tutorial/config/environments/production.rb +0 -79
  118. data/example/rails-tutorial/config/environments/test.rb +0 -42
  119. data/example/rails-tutorial/config/initializers/assets.rb +0 -11
  120. data/example/rails-tutorial/config/initializers/backtrace_silencers.rb +0 -7
  121. data/example/rails-tutorial/config/initializers/cookies_serializer.rb +0 -3
  122. data/example/rails-tutorial/config/initializers/filter_parameter_logging.rb +0 -4
  123. data/example/rails-tutorial/config/initializers/inflections.rb +0 -16
  124. data/example/rails-tutorial/config/initializers/mime_types.rb +0 -4
  125. data/example/rails-tutorial/config/initializers/session_store.rb +0 -3
  126. data/example/rails-tutorial/config/initializers/wrap_parameters.rb +0 -14
  127. data/example/rails-tutorial/config/locales/en.yml +0 -23
  128. data/example/rails-tutorial/config/routes.rb +0 -59
  129. data/example/rails-tutorial/config/secrets.yml +0 -22
  130. data/example/rails-tutorial/db/seeds.rb +0 -7
  131. data/example/rails-tutorial/lib/assets/.keep +0 -0
  132. data/example/rails-tutorial/lib/tasks/.keep +0 -0
  133. data/example/rails-tutorial/log/.keep +0 -0
  134. data/example/rails-tutorial/public/404.html +0 -67
  135. data/example/rails-tutorial/public/422.html +0 -67
  136. data/example/rails-tutorial/public/500.html +0 -66
  137. data/example/rails-tutorial/public/favicon.ico +0 -0
  138. data/example/rails-tutorial/public/robots.txt +0 -5
  139. data/example/rails-tutorial/test/controllers/.keep +0 -0
  140. data/example/rails-tutorial/test/fixtures/.keep +0 -0
  141. data/example/rails-tutorial/test/helpers/.keep +0 -0
  142. data/example/rails-tutorial/test/integration/.keep +0 -0
  143. data/example/rails-tutorial/test/mailers/.keep +0 -0
  144. data/example/rails-tutorial/test/models/.keep +0 -0
  145. data/example/rails-tutorial/test/test_helper.rb +0 -10
  146. data/example/rails-tutorial/vendor/assets/javascripts/.keep +0 -0
  147. data/example/rails-tutorial/vendor/assets/stylesheets/.keep +0 -0
  148. data/example/sinatra-tutorial/.DS_Store +0 -0
  149. data/example/sinatra-tutorial/Gemfile +0 -5
  150. data/example/sinatra-tutorial/README.md +0 -8
  151. data/example/sinatra-tutorial/_comments.json +0 -42
  152. data/example/sinatra-tutorial/app/example.rb +0 -290
  153. data/example/sinatra-tutorial/app/jquery.js +0 -5
  154. data/example/sinatra-tutorial/config.ru +0 -58
  155. data/example/sinatra-tutorial/public/base.css +0 -62
  156. data/example/todos/Gemfile +0 -11
  157. data/example/todos/README.md +0 -37
  158. data/example/todos/Rakefile +0 -8
  159. data/example/todos/app/application.rb +0 -22
  160. data/example/todos/app/components/app.react.rb +0 -61
  161. data/example/todos/app/components/footer.react.rb +0 -31
  162. data/example/todos/app/components/todo_item.react.rb +0 -46
  163. data/example/todos/app/components/todo_list.react.rb +0 -25
  164. data/example/todos/app/models/todo.rb +0 -19
  165. data/example/todos/config.ru +0 -14
  166. data/example/todos/index.html.haml +0 -16
  167. data/example/todos/spec/todo_spec.rb +0 -28
  168. data/example/todos/vendor/base.css +0 -410
  169. data/example/todos/vendor/bg.png +0 -0
  170. data/example/todos/vendor/jquery.js +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56bb10a0b7e0570fcd71cd6eb8a84b683d7c5477
4
- data.tar.gz: 6f3556f79685a0ed59fa24e3adffe9865f2c37d7
3
+ metadata.gz: 02a626bedd3a6d81b215c7c0e1b0956eab52d288
4
+ data.tar.gz: 7830bb0c84449cff8884c7df02b6d983a037affa
5
5
  SHA512:
6
- metadata.gz: 659a94fbc934575d85084a11a0006ccb358abe68cf9a77553bf2d64e794bd5eb424ff1399dfaac62cb37d7b4c5c7ec5c00b225eae49939b01af24262de989b42
7
- data.tar.gz: e42a8bf45da2475c6069b10956a770bdbffb73ee53cb96f72f1021a7e7e832b9cab9fc381e3ba11f29e08fbbccf3e513fa0ffbb1258cfa4c9ad6ef97024cc9d5
6
+ metadata.gz: b648950cc3aac843059b9dbd64aa797578ccc4d06ed866e8fee611d299b06a139b3c3631e0db445f82b5e51ff68bc75de3c72404423e8a60cde06a09bf1f4847
7
+ data.tar.gz: 4d4a563b3f105555ec418b8ad761854fa22d2e739380cef1cc16487de314843ddc327db6bcf89566e898ba8e8599b7103aeb0f6d0f01ad4bdaca69c797e72fe6
@@ -1,6 +1,27 @@
1
- languages:
2
- Ruby: true
3
- JavaScript: false
1
+ ---
2
+ engines:
3
+ duplication:
4
+ enabled: true
5
+ config:
6
+ languages:
7
+ - ruby
8
+ - javascript
9
+ - python
10
+ - php
11
+ fixme:
12
+ enabled: true
13
+ rubocop:
14
+ enabled: true
15
+ ratings:
16
+ paths:
17
+ - "**.inc"
18
+ - "**.js"
19
+ - "**.jsx"
20
+ - "**.module"
21
+ - "**.php"
22
+ - "**.py"
23
+ - "**.rb"
4
24
  exclude_paths:
5
25
  - example/**/*
6
26
  - lib/sources/**/*
27
+ - spec/
data/.gitignore CHANGED
@@ -31,3 +31,6 @@ node_modules
31
31
 
32
32
  spec/test_app
33
33
  Gemfile.lock
34
+
35
+ /gemfiles/*.lock
36
+ /tmp
@@ -1,8 +1,1159 @@
1
+ AllCops:
2
+ DisabledByDefault: true
3
+
4
+ #################### Lint ################################
5
+
6
+ Lint/AmbiguousOperator:
7
+ Description: >-
8
+ Checks for ambiguous operators in the first argument of a
9
+ method invocation without parentheses.
10
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
11
+ Enabled: true
12
+
13
+ Lint/AmbiguousRegexpLiteral:
14
+ Description: >-
15
+ Checks for ambiguous regexp literals in the first argument of
16
+ a method invocation without parenthesis.
17
+ Enabled: true
18
+
19
+ Lint/AssignmentInCondition:
20
+ Description: "Don't use assignment in conditions."
21
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
22
+ Enabled: true
23
+
24
+ Lint/BlockAlignment:
25
+ Description: 'Align block ends correctly.'
26
+ Enabled: true
27
+
28
+ Lint/CircularArgumentReference:
29
+ Description: "Don't refer to the keyword argument in the default value."
30
+ Enabled: true
31
+
32
+ Lint/ConditionPosition:
33
+ Description: >-
34
+ Checks for condition placed in a confusing position relative to
35
+ the keyword.
36
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
37
+ Enabled: true
38
+
39
+ Lint/Debugger:
40
+ Description: 'Check for debugger calls.'
41
+ Enabled: true
42
+
43
+ Lint/DefEndAlignment:
44
+ Description: 'Align ends corresponding to defs correctly.'
45
+ Enabled: true
46
+
47
+ Lint/DeprecatedClassMethods:
48
+ Description: 'Check for deprecated class method calls.'
49
+ Enabled: true
50
+
51
+ Lint/DuplicateMethods:
52
+ Description: 'Check for duplicate methods calls.'
53
+ Enabled: true
54
+
55
+ Lint/EachWithObjectArgument:
56
+ Description: 'Check for immutable argument given to each_with_object.'
57
+ Enabled: true
58
+
59
+ Lint/ElseLayout:
60
+ Description: 'Check for odd code arrangement in an else block.'
61
+ Enabled: true
62
+
63
+ Lint/EmptyEnsure:
64
+ Description: 'Checks for empty ensure block.'
65
+ Enabled: true
66
+
67
+ Lint/EmptyInterpolation:
68
+ Description: 'Checks for empty string interpolation.'
69
+ Enabled: true
70
+
71
+ Lint/EndAlignment:
72
+ Description: 'Align ends correctly.'
73
+ Enabled: true
74
+
75
+ Lint/EndInMethod:
76
+ Description: 'END blocks should not be placed inside method definitions.'
77
+ Enabled: true
78
+
79
+ Lint/EnsureReturn:
80
+ Description: 'Do not use return in an ensure block.'
81
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
82
+ Enabled: true
83
+
84
+ Lint/Eval:
85
+ Description: 'The use of eval represents a serious security risk.'
86
+ Enabled: true
87
+
88
+ Lint/FormatParameterMismatch:
89
+ Description: 'The number of parameters to format/sprint must match the fields.'
90
+ Enabled: true
91
+
92
+ Lint/HandleExceptions:
93
+ Description: "Don't suppress exception."
94
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
95
+ Enabled: true
96
+
97
+ Lint/InvalidCharacterLiteral:
98
+ Description: >-
99
+ Checks for invalid character literals with a non-escaped
100
+ whitespace character.
101
+ Enabled: true
102
+
103
+ Lint/LiteralInCondition:
104
+ Description: 'Checks of literals used in conditions.'
105
+ Enabled: true
106
+
107
+ Lint/LiteralInInterpolation:
108
+ Description: 'Checks for literals used in interpolation.'
109
+ Enabled: true
110
+
111
+ Lint/Loop:
112
+ Description: >-
113
+ Use Kernel#loop with break rather than begin/end/until or
114
+ begin/end/while for post-loop tests.
115
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
116
+ Enabled: true
117
+
118
+ Lint/NestedMethodDefinition:
119
+ Description: 'Do not use nested method definitions.'
120
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
121
+ Enabled: true
122
+
123
+ Lint/NonLocalExitFromIterator:
124
+ Description: 'Do not use return in iterator to cause non-local exit.'
125
+ Enabled: true
126
+
127
+ Lint/ParenthesesAsGroupedExpression:
128
+ Description: >-
129
+ Checks for method calls with a space before the opening
130
+ parenthesis.
131
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
132
+ Enabled: true
133
+
134
+ Lint/RequireParentheses:
135
+ Description: >-
136
+ Use parentheses in the method call to avoid confusion
137
+ about precedence.
138
+ Enabled: true
139
+
140
+ Lint/RescueException:
141
+ Description: 'Avoid rescuing the Exception class.'
142
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
143
+ Enabled: true
144
+
145
+ Lint/ShadowingOuterLocalVariable:
146
+ Description: >-
147
+ Do not use the same name as outer local variable
148
+ for block arguments or block local variables.
149
+ Enabled: true
150
+
151
+ Lint/StringConversionInInterpolation:
152
+ Description: 'Checks for Object#to_s usage in string interpolation.'
153
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
154
+ Enabled: true
155
+
156
+ Lint/UnderscorePrefixedVariableName:
157
+ Description: 'Do not use prefix `_` for a variable that is used.'
158
+ Enabled: true
159
+
160
+ Lint/UnneededDisable:
161
+ Description: >-
162
+ Checks for rubocop:disable comments that can be removed.
163
+ Note: this cop is not disabled when disabling all cops.
164
+ It must be explicitly disabled.
165
+ Enabled: true
166
+
167
+ Lint/UnusedBlockArgument:
168
+ Description: 'Checks for unused block arguments.'
169
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
170
+ Enabled: true
171
+
172
+ Lint/UnusedMethodArgument:
173
+ Description: 'Checks for unused method arguments.'
174
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
175
+ Enabled: true
176
+
177
+ Lint/UnreachableCode:
178
+ Description: 'Unreachable code.'
179
+ Enabled: true
180
+
181
+ Lint/UselessAccessModifier:
182
+ Description: 'Checks for useless access modifiers.'
183
+ Enabled: true
184
+
185
+ Lint/UselessAssignment:
186
+ Description: 'Checks for useless assignment to a local variable.'
187
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
188
+ Enabled: true
189
+
190
+ Lint/UselessComparison:
191
+ Description: 'Checks for comparison of something with itself.'
192
+ Enabled: true
193
+
194
+ Lint/UselessElseWithoutRescue:
195
+ Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
196
+ Enabled: true
197
+
198
+ Lint/UselessSetterCall:
199
+ Description: 'Checks for useless setter call to a local variable.'
200
+ Enabled: true
201
+
202
+ Lint/Void:
203
+ Description: 'Possible use of operator/literal/variable in void context.'
204
+ Enabled: true
205
+
206
+ ###################### Metrics ####################################
207
+
208
+ Metrics/AbcSize:
209
+ Description: >-
210
+ A calculated magnitude based on number of assignments,
211
+ branches, and conditions.
212
+ Reference: 'http://c2.com/cgi/wiki?AbcMetric'
213
+ Enabled: false
214
+ Max: 20
215
+
216
+ Metrics/BlockNesting:
217
+ Description: 'Avoid excessive block nesting'
218
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
219
+ Enabled: true
220
+ Max: 4
221
+
222
+ Metrics/ClassLength:
223
+ Description: 'Avoid classes longer than 250 lines of code.'
224
+ Enabled: true
225
+ Max: 250
226
+
227
+ Metrics/CyclomaticComplexity:
228
+ Description: >-
229
+ A complexity metric that is strongly correlated to the number
230
+ of test cases needed to validate a method.
231
+ Enabled: true
232
+
1
233
  Metrics/LineLength:
2
- Max: 100
234
+ Description: 'Limit lines to 80 characters.'
235
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
236
+ Enabled: false
237
+
238
+ Metrics/MethodLength:
239
+ Description: 'Avoid methods longer than 30 lines of code.'
240
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
241
+ Enabled: true
242
+ Max: 30
3
243
 
4
- Style/MutableConstant:
244
+ Metrics/ModuleLength:
245
+ Description: 'Avoid modules longer than 250 lines of code.'
246
+ Enabled: true
247
+ Max: 250
248
+
249
+ Metrics/ParameterLists:
250
+ Description: 'Avoid parameter lists longer than three or four parameters.'
251
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
252
+ Enabled: true
253
+
254
+ Metrics/PerceivedComplexity:
255
+ Description: >-
256
+ A complexity metric geared towards measuring complexity for a
257
+ human reader.
5
258
  Enabled: false
6
259
 
7
- Lint/LiteralInCondition:
260
+ ##################### Performance #############################
261
+
262
+ Performance/Count:
263
+ Description: >-
264
+ Use `count` instead of `select...size`, `reject...size`,
265
+ `select...count`, `reject...count`, `select...length`,
266
+ and `reject...length`.
267
+ Enabled: true
268
+
269
+ Performance/Detect:
270
+ Description: >-
271
+ Use `detect` instead of `select.first`, `find_all.first`,
272
+ `select.last`, and `find_all.last`.
273
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
274
+ Enabled: true
275
+
276
+ Performance/FlatMap:
277
+ Description: >-
278
+ Use `Enumerable#flat_map`
279
+ instead of `Enumerable#map...Array#flatten(1)`
280
+ or `Enumberable#collect..Array#flatten(1)`
281
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
282
+ Enabled: true
283
+ EnabledForFlattenWithoutParams: false
284
+ # If enabled, this cop will warn about usages of
285
+ # `flatten` being called without any parameters.
286
+ # This can be dangerous since `flat_map` will only flatten 1 level, and
287
+ # `flatten` without any parameters can flatten multiple levels.
288
+
289
+ Performance/ReverseEach:
290
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
291
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
292
+ Enabled: true
293
+
294
+ Performance/Sample:
295
+ Description: >-
296
+ Use `sample` instead of `shuffle.first`,
297
+ `shuffle.last`, and `shuffle[Fixnum]`.
298
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
299
+ Enabled: true
300
+
301
+ Performance/Size:
302
+ Description: >-
303
+ Use `size` instead of `count` for counting
304
+ the number of elements in `Array` and `Hash`.
305
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
306
+ Enabled: true
307
+
308
+ Performance/StringReplacement:
309
+ Description: >-
310
+ Use `tr` instead of `gsub` when you are replacing the same
311
+ number of characters. Use `delete` instead of `gsub` when
312
+ you are deleting characters.
313
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
314
+ Enabled: true
315
+
316
+ ##################### Rails ##################################
317
+
318
+ Rails/ActionFilter:
319
+ Description: 'Enforces consistent use of action filter methods.'
320
+ Enabled: false
321
+
322
+ Rails/Date:
323
+ Description: >-
324
+ Checks the correct usage of date aware methods,
325
+ such as Date.today, Date.current etc.
326
+ Enabled: false
327
+
328
+ Rails/Delegate:
329
+ Description: 'Prefer delegate method for delegations.'
330
+ Enabled: false
331
+
332
+ Rails/FindBy:
333
+ Description: 'Prefer find_by over where.first.'
334
+ Enabled: false
335
+
336
+ Rails/FindEach:
337
+ Description: 'Prefer all.find_each over all.find.'
338
+ Enabled: false
339
+
340
+ Rails/HasAndBelongsToMany:
341
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
342
+ Enabled: false
343
+
344
+ Rails/Output:
345
+ Description: 'Checks for calls to puts, print, etc.'
346
+ Enabled: false
347
+
348
+ Rails/ReadWriteAttribute:
349
+ Description: >-
350
+ Checks for read_attribute(:attr) and
351
+ write_attribute(:attr, val).
352
+ Enabled: false
353
+
354
+ Rails/ScopeArgs:
355
+ Description: 'Checks the arguments of ActiveRecord scopes.'
356
+ Enabled: false
357
+
358
+ Rails/TimeZone:
359
+ Description: 'Checks the correct usage of time zone aware methods.'
360
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
361
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
362
+ Enabled: false
363
+
364
+ Rails/Validation:
365
+ Description: 'Use validates :attribute, hash of validations.'
366
+ Enabled: false
367
+
368
+ ################## Style #################################
369
+
370
+ Style/AccessModifierIndentation:
371
+ Description: Check indentation of private/protected visibility modifiers.
372
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
373
+ Enabled: false
374
+
375
+ Style/AccessorMethodName:
376
+ Description: Check the naming of accessor methods for get_/set_.
377
+ Enabled: false
378
+
379
+ Style/Alias:
380
+ Description: 'Use alias_method instead of alias.'
381
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
382
+ Enabled: false
383
+
384
+ Style/AlignArray:
385
+ Description: >-
386
+ Align the elements of an array literal if they span more than
387
+ one line.
388
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
389
+ Enabled: false
390
+
391
+ Style/AlignHash:
392
+ Description: >-
393
+ Align the elements of a hash literal if they span more than
394
+ one line.
395
+ Enabled: false
396
+
397
+ Style/AlignParameters:
398
+ Description: >-
399
+ Align the parameters of a method call if they span more
400
+ than one line.
401
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
402
+ Enabled: false
403
+
404
+ Style/AndOr:
405
+ Description: 'Use &&/|| instead of and/or.'
406
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
407
+ Enabled: false
408
+
409
+ Style/ArrayJoin:
410
+ Description: 'Use Array#join instead of Array#*.'
411
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
412
+ Enabled: false
413
+
414
+ Style/AsciiComments:
415
+ Description: 'Use only ascii symbols in comments.'
416
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
417
+ Enabled: false
418
+
419
+ Style/AsciiIdentifiers:
420
+ Description: 'Use only ascii symbols in identifiers.'
421
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
422
+ Enabled: false
423
+
424
+ Style/Attr:
425
+ Description: 'Checks for uses of Module#attr.'
426
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
427
+ Enabled: false
428
+
429
+ Style/BeginBlock:
430
+ Description: 'Avoid the use of BEGIN blocks.'
431
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
432
+ Enabled: false
433
+
434
+ Style/BarePercentLiterals:
435
+ Description: 'Checks if usage of %() or %Q() matches configuration.'
436
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
437
+ Enabled: false
438
+
439
+ Style/BlockComments:
440
+ Description: 'Do not use block comments.'
441
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
442
+ Enabled: false
443
+
444
+ Style/BlockEndNewline:
445
+ Description: 'Put end statement of multiline block on its own line.'
446
+ Enabled: false
447
+
448
+ Style/BlockDelimiters:
449
+ Description: >-
450
+ Avoid using {...} for multi-line blocks (multiline chaining is
451
+ always ugly).
452
+ Prefer {...} over do...end for single-line blocks.
453
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
454
+ Enabled: false
455
+
456
+ Style/BracesAroundHashParameters:
457
+ Description: 'Enforce braces style around hash parameters.'
458
+ Enabled: false
459
+
460
+ Style/CaseEquality:
461
+ Description: 'Avoid explicit use of the case equality operator(===).'
462
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
463
+ Enabled: false
464
+
465
+ Style/CaseIndentation:
466
+ Description: 'Indentation of when in a case/when/[else/]end.'
467
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
468
+ Enabled: false
469
+
470
+ Style/CharacterLiteral:
471
+ Description: 'Checks for uses of character literals.'
472
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
473
+ Enabled: false
474
+
475
+ Style/ClassAndModuleCamelCase:
476
+ Description: 'Use CamelCase for classes and modules.'
477
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
478
+ Enabled: false
479
+
480
+ Style/ClassAndModuleChildren:
481
+ Description: 'Checks style of children classes and modules.'
482
+ Enabled: false
483
+
484
+ Style/ClassCheck:
485
+ Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
486
+ Enabled: false
487
+
488
+ Style/ClassMethods:
489
+ Description: 'Use self when defining module/class methods.'
490
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
491
+ Enabled: false
492
+
493
+ Style/ClassVars:
494
+ Description: 'Avoid the use of class variables.'
495
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
496
+ Enabled: false
497
+
498
+ Style/ClosingParenthesisIndentation:
499
+ Description: 'Checks the indentation of hanging closing parentheses.'
500
+ Enabled: false
501
+
502
+ Style/ColonMethodCall:
503
+ Description: 'Do not use :: for method call.'
504
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
505
+ Enabled: false
506
+
507
+ Style/CommandLiteral:
508
+ Description: 'Use `` or %x around command literals.'
509
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
510
+ Enabled: false
511
+
512
+ Style/CommentAnnotation:
513
+ Description: 'Checks formatting of annotation comments.'
514
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
515
+ Enabled: false
516
+
517
+ Style/CommentIndentation:
518
+ Description: 'Indentation of comments.'
519
+ Enabled: false
520
+
521
+ Style/ConstantName:
522
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
523
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
524
+ Enabled: false
525
+
526
+ Style/DefWithParentheses:
527
+ Description: 'Use def with parentheses when there are arguments.'
528
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
529
+ Enabled: false
530
+
531
+ Style/DeprecatedHashMethods:
532
+ Description: 'Checks for use of deprecated Hash methods.'
533
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
534
+ Enabled: false
535
+
536
+ Style/Documentation:
537
+ Description: 'Document classes and non-namespace modules.'
538
+ Enabled: false
539
+
540
+ Style/DotPosition:
541
+ Description: 'Checks the position of the dot in multi-line method calls.'
542
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
543
+ Enabled: false
544
+
545
+ Style/DoubleNegation:
546
+ Description: 'Checks for uses of double negation (!!).'
547
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
548
+ Enabled: false
549
+
550
+ Style/EachWithObject:
551
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
552
+ Enabled: false
553
+
554
+ Style/ElseAlignment:
555
+ Description: 'Align elses and elsifs correctly.'
556
+ Enabled: false
557
+
558
+ Style/EmptyElse:
559
+ Description: 'Avoid empty else-clauses.'
560
+ Enabled: false
561
+
562
+ Style/EmptyLineBetweenDefs:
563
+ Description: 'Use empty lines between defs.'
564
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
565
+ Enabled: false
566
+
567
+ Style/EmptyLines:
568
+ Description: "Don't use several empty lines in a row."
569
+ Enabled: false
570
+
571
+ Style/EmptyLinesAroundAccessModifier:
572
+ Description: "Keep blank lines around access modifiers."
573
+ Enabled: false
574
+
575
+ Style/EmptyLinesAroundBlockBody:
576
+ Description: "Keeps track of empty lines around block bodies."
577
+ Enabled: false
578
+
579
+ Style/EmptyLinesAroundClassBody:
580
+ Description: "Keeps track of empty lines around class bodies."
581
+ Enabled: false
582
+
583
+ Style/EmptyLinesAroundModuleBody:
584
+ Description: "Keeps track of empty lines around module bodies."
585
+ Enabled: false
586
+
587
+ Style/EmptyLinesAroundMethodBody:
588
+ Description: "Keeps track of empty lines around method bodies."
589
+ Enabled: false
590
+
591
+ Style/EmptyLiteral:
592
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
593
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
594
+ Enabled: false
595
+
596
+ Style/EndBlock:
597
+ Description: 'Avoid the use of END blocks.'
598
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
599
+ Enabled: false
600
+
601
+ Style/EndOfLine:
602
+ Description: 'Use Unix-style line endings.'
603
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
604
+ Enabled: false
605
+
606
+ Style/EvenOdd:
607
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
608
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
609
+ Enabled: false
610
+
611
+ Style/ExtraSpacing:
612
+ Description: 'Do not use unnecessary spacing.'
613
+ Enabled: false
614
+
615
+ Style/FileName:
616
+ Description: 'Use snake_case for source file names.'
617
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
618
+ Enabled: false
619
+
620
+ Style/InitialIndentation:
621
+ Description: >-
622
+ Checks the indentation of the first non-blank non-comment line in a file.
623
+ Enabled: false
624
+
625
+ Style/FirstParameterIndentation:
626
+ Description: 'Checks the indentation of the first parameter in a method call.'
627
+ Enabled: false
628
+
629
+ Style/FlipFlop:
630
+ Description: 'Checks for flip flops'
631
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
8
632
  Enabled: false
633
+
634
+ Style/For:
635
+ Description: 'Checks use of for or each in multiline loops.'
636
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
637
+ Enabled: false
638
+
639
+ Style/FormatString:
640
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
641
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
642
+ Enabled: false
643
+
644
+ Style/GlobalVars:
645
+ Description: 'Do not introduce global variables.'
646
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
647
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
648
+ Enabled: false
649
+
650
+ Style/GuardClause:
651
+ Description: 'Check for conditionals that can be replaced with guard clauses'
652
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
653
+ Enabled: false
654
+
655
+ Style/HashSyntax:
656
+ Description: >-
657
+ Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
658
+ { :a => 1, :b => 2 }.
659
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
660
+ Enabled: false
661
+
662
+ Style/IfUnlessModifier:
663
+ Description: >-
664
+ Favor modifier if/unless usage when you have a
665
+ single-line body.
666
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
667
+ Enabled: false
668
+
669
+ Style/IfWithSemicolon:
670
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
671
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
672
+ Enabled: false
673
+
674
+ Style/IndentationConsistency:
675
+ Description: 'Keep indentation straight.'
676
+ Enabled: false
677
+
678
+ Style/IndentationWidth:
679
+ Description: 'Use 2 spaces for indentation.'
680
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
681
+ Enabled: false
682
+
683
+ Style/IndentArray:
684
+ Description: >-
685
+ Checks the indentation of the first element in an array
686
+ literal.
687
+ Enabled: false
688
+
689
+ Style/IndentHash:
690
+ Description: 'Checks the indentation of the first key in a hash literal.'
691
+ Enabled: false
692
+
693
+ Style/InfiniteLoop:
694
+ Description: 'Use Kernel#loop for infinite loops.'
695
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
696
+ Enabled: false
697
+
698
+ Style/Lambda:
699
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
700
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
701
+ Enabled: false
702
+
703
+ Style/LambdaCall:
704
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
705
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
706
+ Enabled: false
707
+
708
+ Style/LeadingCommentSpace:
709
+ Description: 'Comments should start with a space.'
710
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
711
+ Enabled: false
712
+
713
+ Style/LineEndConcatenation:
714
+ Description: >-
715
+ Use \ instead of + or << to concatenate two string literals at
716
+ line end.
717
+ Enabled: false
718
+
719
+ Style/MethodCallParentheses:
720
+ Description: 'Do not use parentheses for method calls with no arguments.'
721
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
722
+ Enabled: false
723
+
724
+ Style/MethodDefParentheses:
725
+ Description: >-
726
+ Checks if the method definitions have or don't have
727
+ parentheses.
728
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
729
+ Enabled: false
730
+
731
+ Style/MethodName:
732
+ Description: 'Use the configured style when naming methods.'
733
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
734
+ Enabled: false
735
+
736
+ Style/ModuleFunction:
737
+ Description: 'Checks for usage of `extend self` in modules.'
738
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
739
+ Enabled: false
740
+
741
+ Style/MultilineBlockChain:
742
+ Description: 'Avoid multi-line chains of blocks.'
743
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
744
+ Enabled: false
745
+
746
+ Style/MultilineBlockLayout:
747
+ Description: 'Ensures newlines after multiline block do statements.'
748
+ Enabled: false
749
+
750
+ Style/MultilineIfThen:
751
+ Description: 'Do not use then for multi-line if/unless.'
752
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
753
+ Enabled: false
754
+
755
+ Style/MultilineOperationIndentation:
756
+ Description: >-
757
+ Checks indentation of binary operations that span more than
758
+ one line.
759
+ Enabled: false
760
+
761
+ Style/MultilineTernaryOperator:
762
+ Description: >-
763
+ Avoid multi-line ?: (the ternary operator);
764
+ use if/unless instead.
765
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
766
+ Enabled: false
767
+
768
+ Style/NegatedIf:
769
+ Description: >-
770
+ Favor unless over if for negative conditions
771
+ (or control flow or).
772
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
773
+ Enabled: false
774
+
775
+ Style/NegatedWhile:
776
+ Description: 'Favor until over while for negative conditions.'
777
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
778
+ Enabled: false
779
+
780
+ Style/NestedTernaryOperator:
781
+ Description: 'Use one expression per branch in a ternary operator.'
782
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
783
+ Enabled: false
784
+
785
+ Style/Next:
786
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
787
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
788
+ Enabled: false
789
+
790
+ Style/NilComparison:
791
+ Description: 'Prefer x.nil? to x == nil.'
792
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
793
+ Enabled: false
794
+
795
+ Style/NonNilCheck:
796
+ Description: 'Checks for redundant nil checks.'
797
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
798
+ Enabled: false
799
+
800
+ Style/Not:
801
+ Description: 'Use ! instead of not.'
802
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
803
+ Enabled: false
804
+
805
+ Style/NumericLiterals:
806
+ Description: >-
807
+ Add underscores to large numeric literals to improve their
808
+ readability.
809
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
810
+ Enabled: false
811
+
812
+ Style/OneLineConditional:
813
+ Description: >-
814
+ Favor the ternary operator(?:) over
815
+ if/then/else/end constructs.
816
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
817
+ Enabled: false
818
+
819
+ Style/OpMethod:
820
+ Description: 'When defining binary operators, name the argument other.'
821
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
822
+ Enabled: false
823
+
824
+ Style/OptionalArguments:
825
+ Description: >-
826
+ Checks for optional arguments that do not appear at the end
827
+ of the argument list
828
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
829
+ Enabled: false
830
+
831
+ Style/ParallelAssignment:
832
+ Description: >-
833
+ Check for simple usages of parallel assignment.
834
+ It will only warn when the number of variables
835
+ matches on both sides of the assignment.
836
+ This also provides performance benefits
837
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
838
+ Enabled: false
839
+
840
+ Style/ParenthesesAroundCondition:
841
+ Description: >-
842
+ Don't use parentheses around the condition of an
843
+ if/unless/while.
844
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
845
+ Enabled: false
846
+
847
+ Style/PercentLiteralDelimiters:
848
+ Description: 'Use `%`-literal delimiters consistently'
849
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
850
+ Enabled: false
851
+
852
+ Style/PercentQLiterals:
853
+ Description: 'Checks if uses of %Q/%q match the configured preference.'
854
+ Enabled: false
855
+
856
+ Style/PerlBackrefs:
857
+ Description: 'Avoid Perl-style regex back references.'
858
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
859
+ Enabled: false
860
+
861
+ Style/PredicateName:
862
+ Description: 'Check the names of predicate methods.'
863
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
864
+ Enabled: false
865
+
866
+ Style/Proc:
867
+ Description: 'Use proc instead of Proc.new.'
868
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
869
+ Enabled: false
870
+
871
+ Style/RaiseArgs:
872
+ Description: 'Checks the arguments passed to raise/fail.'
873
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
874
+ Enabled: false
875
+
876
+ Style/RedundantBegin:
877
+ Description: "Don't use begin blocks when they are not needed."
878
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
879
+ Enabled: false
880
+
881
+ Style/RedundantException:
882
+ Description: "Checks for an obsolete RuntimeException argument in raise/fail."
883
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
884
+ Enabled: false
885
+
886
+ Style/RedundantReturn:
887
+ Description: "Don't use return where it's not required."
888
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
889
+ Enabled: false
890
+
891
+ Style/RedundantSelf:
892
+ Description: "Don't use self where it's not needed."
893
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
894
+ Enabled: false
895
+
896
+ Style/RegexpLiteral:
897
+ Description: 'Use / or %r around regular expressions.'
898
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
899
+ Enabled: false
900
+
901
+ Style/RescueEnsureAlignment:
902
+ Description: 'Align rescues and ensures correctly.'
903
+ Enabled: false
904
+
905
+ Style/RescueModifier:
906
+ Description: 'Avoid using rescue in its modifier form.'
907
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
908
+ Enabled: false
909
+
910
+ Style/SelfAssignment:
911
+ Description: >-
912
+ Checks for places where self-assignment shorthand should have
913
+ been used.
914
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
915
+ Enabled: false
916
+
917
+ Style/Semicolon:
918
+ Description: "Don't use semicolons to terminate expressions."
919
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
920
+ Enabled: false
921
+
922
+ Style/SignalException:
923
+ Description: 'Checks for proper usage of fail and raise.'
924
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
925
+ Enabled: false
926
+
927
+ Style/SingleLineBlockParams:
928
+ Description: 'Enforces the names of some block params.'
929
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
930
+ Enabled: false
931
+
932
+ Style/SingleLineMethods:
933
+ Description: 'Avoid single-line methods.'
934
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
935
+ Enabled: false
936
+
937
+ Style/SpaceBeforeFirstArg:
938
+ Description: >-
939
+ Checks that exactly one space is used between a method name
940
+ and the first argument for method calls without parentheses.
941
+ Enabled: true
942
+
943
+ Style/SpaceAfterColon:
944
+ Description: 'Use spaces after colons.'
945
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
946
+ Enabled: false
947
+
948
+ Style/SpaceAfterComma:
949
+ Description: 'Use spaces after commas.'
950
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
951
+ Enabled: false
952
+
953
+ Style/SpaceAroundKeyword:
954
+ Description: 'Use spaces around keywords.'
955
+ Enabled: false
956
+
957
+ Style/SpaceAfterMethodName:
958
+ Description: >-
959
+ Do not put a space between a method name and the opening
960
+ parenthesis in a method definition.
961
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
962
+ Enabled: false
963
+
964
+ Style/SpaceAfterNot:
965
+ Description: Tracks redundant space after the ! operator.
966
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
967
+ Enabled: false
968
+
969
+ Style/SpaceAfterSemicolon:
970
+ Description: 'Use spaces after semicolons.'
971
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
972
+ Enabled: false
973
+
974
+ Style/SpaceBeforeBlockBraces:
975
+ Description: >-
976
+ Checks that the left block brace has or doesn't have space
977
+ before it.
978
+ Enabled: false
979
+
980
+ Style/SpaceBeforeComma:
981
+ Description: 'No spaces before commas.'
982
+ Enabled: false
983
+
984
+ Style/SpaceBeforeComment:
985
+ Description: >-
986
+ Checks for missing space between code and a comment on the
987
+ same line.
988
+ Enabled: false
989
+
990
+ Style/SpaceBeforeSemicolon:
991
+ Description: 'No spaces before semicolons.'
992
+ Enabled: false
993
+
994
+ Style/SpaceInsideBlockBraces:
995
+ Description: >-
996
+ Checks that block braces have or don't have surrounding space.
997
+ For blocks taking parameters, checks that the left brace has
998
+ or doesn't have trailing space.
999
+ Enabled: false
1000
+
1001
+ Style/SpaceAroundBlockParameters:
1002
+ Description: 'Checks the spacing inside and after block parameters pipes.'
1003
+ Enabled: false
1004
+
1005
+ Style/SpaceAroundEqualsInParameterDefault:
1006
+ Description: >-
1007
+ Checks that the equals signs in parameter default assignments
1008
+ have or don't have surrounding space depending on
1009
+ configuration.
1010
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
1011
+ Enabled: false
1012
+
1013
+ Style/SpaceAroundOperators:
1014
+ Description: 'Use a single space around operators.'
1015
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1016
+ Enabled: false
1017
+
1018
+ Style/SpaceInsideBrackets:
1019
+ Description: 'No spaces after [ or before ].'
1020
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1021
+ Enabled: false
1022
+
1023
+ Style/SpaceInsideHashLiteralBraces:
1024
+ Description: "Use spaces inside hash literal braces - or don't."
1025
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1026
+ Enabled: false
1027
+
1028
+ Style/SpaceInsideParens:
1029
+ Description: 'No spaces after ( or before ).'
1030
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1031
+ Enabled: false
1032
+
1033
+ Style/SpaceInsideRangeLiteral:
1034
+ Description: 'No spaces inside range literals.'
1035
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
1036
+ Enabled: false
1037
+
1038
+ Style/SpaceInsideStringInterpolation:
1039
+ Description: 'Checks for padding/surrounding spaces inside string interpolation.'
1040
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
1041
+ Enabled: false
1042
+
1043
+ Style/SpecialGlobalVars:
1044
+ Description: 'Avoid Perl-style global variables.'
1045
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
1046
+ Enabled: false
1047
+
1048
+ Style/StringLiterals:
1049
+ Description: 'Checks if uses of quotes match the configured preference.'
1050
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
1051
+ Enabled: false
1052
+
1053
+ Style/StringLiteralsInInterpolation:
1054
+ Description: >-
1055
+ Checks if uses of quotes inside expressions in interpolated
1056
+ strings match the configured preference.
1057
+ Enabled: false
1058
+
1059
+ Style/StructInheritance:
1060
+ Description: 'Checks for inheritance from Struct.new.'
1061
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
1062
+ Enabled: false
1063
+
1064
+ Style/SymbolLiteral:
1065
+ Description: 'Use plain symbols instead of string symbols when possible.'
1066
+ Enabled: false
1067
+
1068
+ Style/SymbolProc:
1069
+ Description: 'Use symbols as procs instead of blocks when possible.'
1070
+ Enabled: false
1071
+
1072
+ Style/Tab:
1073
+ Description: 'No hard tabs.'
1074
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
1075
+ Enabled: false
1076
+
1077
+ Style/TrailingBlankLines:
1078
+ Description: 'Checks trailing blank lines and final newline.'
1079
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
1080
+ Enabled: false
1081
+
1082
+ Style/TrailingCommaInArguments:
1083
+ Description: 'Checks for trailing comma in parameter lists.'
1084
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma'
1085
+ Enabled: false
1086
+
1087
+ Style/TrailingCommaInLiteral:
1088
+ Description: 'Checks for trailing comma in literals.'
1089
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
1090
+ Enabled: false
1091
+
1092
+ Style/TrailingWhitespace:
1093
+ Description: 'Avoid trailing whitespace.'
1094
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
1095
+ Enabled: false
1096
+
1097
+ Style/TrivialAccessors:
1098
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
1099
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
1100
+ Enabled: false
1101
+
1102
+ Style/UnlessElse:
1103
+ Description: >-
1104
+ Do not use unless with else. Rewrite these with the positive
1105
+ case first.
1106
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
1107
+ Enabled: false
1108
+
1109
+ Style/UnneededCapitalW:
1110
+ Description: 'Checks for %W when interpolation is not needed.'
1111
+ Enabled: false
1112
+
1113
+ Style/UnneededPercentQ:
1114
+ Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
1115
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
1116
+ Enabled: false
1117
+
1118
+ Style/TrailingUnderscoreVariable:
1119
+ Description: >-
1120
+ Checks for the usage of unneeded trailing underscores at the
1121
+ end of parallel variable assignment.
1122
+ Enabled: false
1123
+
1124
+ Style/VariableInterpolation:
1125
+ Description: >-
1126
+ Don't interpolate global, instance and class variables
1127
+ directly in strings.
1128
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
1129
+ Enabled: false
1130
+
1131
+ Style/VariableName:
1132
+ Description: 'Use the configured style when naming variables.'
1133
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
1134
+ Enabled: false
1135
+
1136
+ Style/WhenThen:
1137
+ Description: 'Use when x then ... for one-line cases.'
1138
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
1139
+ Enabled: false
1140
+
1141
+ Style/WhileUntilDo:
1142
+ Description: 'Checks for redundant do after while or until.'
1143
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
1144
+ Enabled: false
1145
+
1146
+ Style/WhileUntilModifier:
1147
+ Description: >-
1148
+ Favor modifier while/until usage when you have a
1149
+ single-line body.
1150
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
1151
+ Enabled: false
1152
+
1153
+ Style/WordArray:
1154
+ Description: 'Use %w or %W for arrays of words.'
1155
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
1156
+ Enabled: false
1157
+
1158
+ Style/CommandLiteral:
1159
+ EnforcedStyle: mixed