mittsu-opengl 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +18 -0
  3. data/.github/workflows/build-workflow.yml +67 -0
  4. data/.gitignore +12 -0
  5. data/.rubocop.yml +1158 -0
  6. data/CODE_OF_CONDUCT.md +13 -0
  7. data/Gemfile +9 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +195 -0
  10. data/Rakefile +8 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +7 -0
  13. data/install-glfw.ps1 +13 -0
  14. data/lib/mittsu/generic_lib.rb +116 -0
  15. data/lib/mittsu/glfw/lib.rb +58 -0
  16. data/lib/mittsu/glfw/window.rb +231 -0
  17. data/lib/mittsu/opengl/buffer.rb +13 -0
  18. data/lib/mittsu/opengl/default_target.rb +50 -0
  19. data/lib/mittsu/opengl/geometry_group.rb +758 -0
  20. data/lib/mittsu/opengl/geometry_like.rb +132 -0
  21. data/lib/mittsu/opengl/gl_debug.rb +85 -0
  22. data/lib/mittsu/opengl/gl_extensions.rb +42 -0
  23. data/lib/mittsu/opengl/gl_mittsu_params.rb +53 -0
  24. data/lib/mittsu/opengl/helper.rb +120 -0
  25. data/lib/mittsu/opengl/implementation.rb +31 -0
  26. data/lib/mittsu/opengl/lib.rb +19 -0
  27. data/lib/mittsu/opengl/light_renderer.rb +43 -0
  28. data/lib/mittsu/opengl/material_basics.rb +57 -0
  29. data/lib/mittsu/opengl/plugins/shadow_map_plugin.rb +416 -0
  30. data/lib/mittsu/opengl/plugins/sprite_fragment.glsl +38 -0
  31. data/lib/mittsu/opengl/plugins/sprite_plugin.rb +250 -0
  32. data/lib/mittsu/opengl/plugins/sprite_vertex.glsl +31 -0
  33. data/lib/mittsu/opengl/program.rb +250 -0
  34. data/lib/mittsu/opengl/renderer.rb +1028 -0
  35. data/lib/mittsu/opengl/shader/chunk.rb +11 -0
  36. data/lib/mittsu/opengl/shader/chunks/alphamap_fragment.glsl +5 -0
  37. data/lib/mittsu/opengl/shader/chunks/alphamap_pars_fragment.glsl +5 -0
  38. data/lib/mittsu/opengl/shader/chunks/alphatest_fragment.glsl +5 -0
  39. data/lib/mittsu/opengl/shader/chunks/bumpmap_pars_fragment.glsl +40 -0
  40. data/lib/mittsu/opengl/shader/chunks/color_fragment.glsl +5 -0
  41. data/lib/mittsu/opengl/shader/chunks/color_pars_fragment.glsl +5 -0
  42. data/lib/mittsu/opengl/shader/chunks/color_pars_vertex.glsl +5 -0
  43. data/lib/mittsu/opengl/shader/chunks/color_vertex.glsl +5 -0
  44. data/lib/mittsu/opengl/shader/chunks/common.glsl +60 -0
  45. data/lib/mittsu/opengl/shader/chunks/default_vertex.glsl +15 -0
  46. data/lib/mittsu/opengl/shader/chunks/defaultnormal_vertex.glsl +21 -0
  47. data/lib/mittsu/opengl/shader/chunks/envmap_fragment.glsl +62 -0
  48. data/lib/mittsu/opengl/shader/chunks/envmap_pars_fragment.glsl +21 -0
  49. data/lib/mittsu/opengl/shader/chunks/envmap_pars_vertex.glsl +7 -0
  50. data/lib/mittsu/opengl/shader/chunks/envmap_vertex.glsl +17 -0
  51. data/lib/mittsu/opengl/shader/chunks/fog_fragment.glsl +26 -0
  52. data/lib/mittsu/opengl/shader/chunks/fog_pars_fragment.glsl +15 -0
  53. data/lib/mittsu/opengl/shader/chunks/lightmap_fragment.glsl +5 -0
  54. data/lib/mittsu/opengl/shader/chunks/lightmap_pars_fragment.glsl +6 -0
  55. data/lib/mittsu/opengl/shader/chunks/lightmap_pars_vertex.glsl +5 -0
  56. data/lib/mittsu/opengl/shader/chunks/lightmap_vertex.glsl +5 -0
  57. data/lib/mittsu/opengl/shader/chunks/lights_lambert_pars_vertex.glsl +43 -0
  58. data/lib/mittsu/opengl/shader/chunks/lights_lambert_vertex.glsl +196 -0
  59. data/lib/mittsu/opengl/shader/chunks/lights_phong_fragment.glsl +243 -0
  60. data/lib/mittsu/opengl/shader/chunks/lights_phong_pars_fragment.glsl +58 -0
  61. data/lib/mittsu/opengl/shader/chunks/lights_phong_pars_vertex.glsl +5 -0
  62. data/lib/mittsu/opengl/shader/chunks/lights_phong_vertex.glsl +5 -0
  63. data/lib/mittsu/opengl/shader/chunks/linear_to_gamma_fragment.glsl +2 -0
  64. data/lib/mittsu/opengl/shader/chunks/logdepthbuf_fragment.glsl +5 -0
  65. data/lib/mittsu/opengl/shader/chunks/logdepthbuf_pars_fragment.glsl +12 -0
  66. data/lib/mittsu/opengl/shader/chunks/logdepthbuf_pars_vertex.glsl +11 -0
  67. data/lib/mittsu/opengl/shader/chunks/logdepthbuf_vertex.glsl +15 -0
  68. data/lib/mittsu/opengl/shader/chunks/map_fragment.glsl +9 -0
  69. data/lib/mittsu/opengl/shader/chunks/map_pars_fragment.glsl +11 -0
  70. data/lib/mittsu/opengl/shader/chunks/map_pars_vertex.glsl +6 -0
  71. data/lib/mittsu/opengl/shader/chunks/map_particle_fragment.glsl +5 -0
  72. data/lib/mittsu/opengl/shader/chunks/map_particle_pars_fragment.glsl +6 -0
  73. data/lib/mittsu/opengl/shader/chunks/map_vertex.glsl +5 -0
  74. data/lib/mittsu/opengl/shader/chunks/morphnormal_vertex.glsl +12 -0
  75. data/lib/mittsu/opengl/shader/chunks/morphtarget_pars_vertex.glsl +13 -0
  76. data/lib/mittsu/opengl/shader/chunks/morphtarget_vertex.glsl +20 -0
  77. data/lib/mittsu/opengl/shader/chunks/normalmap_pars_fragment.glsl +27 -0
  78. data/lib/mittsu/opengl/shader/chunks/shadowmap_fragment.glsl +216 -0
  79. data/lib/mittsu/opengl/shader/chunks/shadowmap_pars_fragment.glsl +19 -0
  80. data/lib/mittsu/opengl/shader/chunks/shadowmap_pars_vertex.glsl +6 -0
  81. data/lib/mittsu/opengl/shader/chunks/shadowmap_vertex.glsl +9 -0
  82. data/lib/mittsu/opengl/shader/chunks/skinbase_vertex.glsl +8 -0
  83. data/lib/mittsu/opengl/shader/chunks/skinning_pars_vertex.glsl +47 -0
  84. data/lib/mittsu/opengl/shader/chunks/skinning_vertex.glsl +20 -0
  85. data/lib/mittsu/opengl/shader/chunks/skinnormal_vertex.glsl +20 -0
  86. data/lib/mittsu/opengl/shader/chunks/specularmap_fragment.glsl +12 -0
  87. data/lib/mittsu/opengl/shader/chunks/specularmap_pars_fragment.glsl +5 -0
  88. data/lib/mittsu/opengl/shader/chunks/worldpos_vertex.glsl +17 -0
  89. data/lib/mittsu/opengl/shader/lib/basic/basic_fragment.rbsl +37 -0
  90. data/lib/mittsu/opengl/shader/lib/basic/basic_uniforms.rbslu +3 -0
  91. data/lib/mittsu/opengl/shader/lib/basic/basic_vertex.rbsl +33 -0
  92. data/lib/mittsu/opengl/shader/lib/cube/cube_fragment.rbsl +12 -0
  93. data/lib/mittsu/opengl/shader/lib/cube/cube_uniforms.rbslu +2 -0
  94. data/lib/mittsu/opengl/shader/lib/cube/cube_vertex.rbsl +12 -0
  95. data/lib/mittsu/opengl/shader/lib/depth_rgba/depth_rgba_fragment.rbsl +26 -0
  96. data/lib/mittsu/opengl/shader/lib/depth_rgba/depth_rgba_uniforms.rbslu +0 -0
  97. data/lib/mittsu/opengl/shader/lib/depth_rgba/depth_rgba_vertex.rbsl +12 -0
  98. data/lib/mittsu/opengl/shader/lib/lambert/lambert_fragment.rbsl +56 -0
  99. data/lib/mittsu/opengl/shader/lib/lambert/lambert_uniforms.rbslu +7 -0
  100. data/lib/mittsu/opengl/shader/lib/lambert/lambert_vertex.rbsl +37 -0
  101. data/lib/mittsu/opengl/shader/lib/particle_basic/particle_basic_fragment.rbsl +27 -0
  102. data/lib/mittsu/opengl/shader/lib/particle_basic/particle_basic_uniforms.rbslu +2 -0
  103. data/lib/mittsu/opengl/shader/lib/particle_basic/particle_basic_vertex.rbsl +25 -0
  104. data/lib/mittsu/opengl/shader/lib/phong/phong_fragment.rbsl +45 -0
  105. data/lib/mittsu/opengl/shader/lib/phong/phong_uniforms.rbslu +11 -0
  106. data/lib/mittsu/opengl/shader/lib/phong/phong_vertex.rbsl +43 -0
  107. data/lib/mittsu/opengl/shader/lib.rb +45 -0
  108. data/lib/mittsu/opengl/shader/rbsl_loader.rb +168 -0
  109. data/lib/mittsu/opengl/shader/templates/fragment.glsl.erb +105 -0
  110. data/lib/mittsu/opengl/shader/templates/vertex.glsl.erb +143 -0
  111. data/lib/mittsu/opengl/shader/uniforms_lib.rb +86 -0
  112. data/lib/mittsu/opengl/shader/uniforms_utils.rb +31 -0
  113. data/lib/mittsu/opengl/shader.rb +56 -0
  114. data/lib/mittsu/opengl/state.rb +205 -0
  115. data/lib/mittsu/opengl/version.rb +5 -0
  116. data/lib/mittsu/opengl.rb +2 -0
  117. data/lib/mittsu/opengl_implementation/core/buffer_geometry.rb +11 -0
  118. data/lib/mittsu/opengl_implementation/core/geometry.rb +346 -0
  119. data/lib/mittsu/opengl_implementation/core/object_3d.rb +134 -0
  120. data/lib/mittsu/opengl_implementation/lights/ambient_light.rb +26 -0
  121. data/lib/mittsu/opengl_implementation/lights/directional_light.rb +35 -0
  122. data/lib/mittsu/opengl_implementation/lights/hemisphere_light.rb +39 -0
  123. data/lib/mittsu/opengl_implementation/lights/light.rb +55 -0
  124. data/lib/mittsu/opengl_implementation/lights/point_light.rb +36 -0
  125. data/lib/mittsu/opengl_implementation/lights/spot_light.rb +47 -0
  126. data/lib/mittsu/opengl_implementation/materials/line_basic_material.rb +16 -0
  127. data/lib/mittsu/opengl_implementation/materials/material.rb +274 -0
  128. data/lib/mittsu/opengl_implementation/materials/mesh_basic_material.rb +21 -0
  129. data/lib/mittsu/opengl_implementation/materials/mesh_lambert_material.rb +33 -0
  130. data/lib/mittsu/opengl_implementation/materials/mesh_phong_material.rb +44 -0
  131. data/lib/mittsu/opengl_implementation/materials/point_cloud_material.rb +27 -0
  132. data/lib/mittsu/opengl_implementation/materials/shader_material.rb +11 -0
  133. data/lib/mittsu/opengl_implementation/objects/group.rb +9 -0
  134. data/lib/mittsu/opengl_implementation/objects/line.rb +45 -0
  135. data/lib/mittsu/opengl_implementation/objects/mesh.rb +70 -0
  136. data/lib/mittsu/opengl_implementation/objects/point_cloud.rb +39 -0
  137. data/lib/mittsu/opengl_implementation/objects/sprite.rb +12 -0
  138. data/lib/mittsu/opengl_implementation/scenes/scene.rb +9 -0
  139. data/lib/mittsu/opengl_implementation/textures/compressed_texture.rb +20 -0
  140. data/lib/mittsu/opengl_implementation/textures/cube_texture.rb +77 -0
  141. data/lib/mittsu/opengl_implementation/textures/data_texture.rb +21 -0
  142. data/lib/mittsu/opengl_implementation/textures/render_target.rb +124 -0
  143. data/lib/mittsu/opengl_implementation/textures/texture.rb +107 -0
  144. data/mittsu-opengl.gemspec +36 -0
  145. metadata +314 -0
data/.rubocop.yml ADDED
@@ -0,0 +1,1158 @@
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
+
233
+ Metrics/LineLength:
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
243
+
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.
258
+ Enabled: false
259
+
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: >-
514
+ Checks formatting of special comments
515
+ (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
516
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
517
+ Enabled: false
518
+
519
+ Style/CommentIndentation:
520
+ Description: 'Indentation of comments.'
521
+ Enabled: false
522
+
523
+ Style/ConstantName:
524
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
525
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
526
+ Enabled: false
527
+
528
+ Style/DefWithParentheses:
529
+ Description: 'Use def with parentheses when there are arguments.'
530
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
531
+ Enabled: false
532
+
533
+ Style/DeprecatedHashMethods:
534
+ Description: 'Checks for use of deprecated Hash methods.'
535
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
536
+ Enabled: false
537
+
538
+ Style/Documentation:
539
+ Description: 'Document classes and non-namespace modules.'
540
+ Enabled: false
541
+
542
+ Style/DotPosition:
543
+ Description: 'Checks the position of the dot in multi-line method calls.'
544
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
545
+ Enabled: false
546
+
547
+ Style/DoubleNegation:
548
+ Description: 'Checks for uses of double negation (!!).'
549
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
550
+ Enabled: false
551
+
552
+ Style/EachWithObject:
553
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
554
+ Enabled: false
555
+
556
+ Style/ElseAlignment:
557
+ Description: 'Align elses and elsifs correctly.'
558
+ Enabled: false
559
+
560
+ Style/EmptyElse:
561
+ Description: 'Avoid empty else-clauses.'
562
+ Enabled: false
563
+
564
+ Style/EmptyLineBetweenDefs:
565
+ Description: 'Use empty lines between defs.'
566
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
567
+ Enabled: false
568
+
569
+ Style/EmptyLines:
570
+ Description: "Don't use several empty lines in a row."
571
+ Enabled: false
572
+
573
+ Style/EmptyLinesAroundAccessModifier:
574
+ Description: "Keep blank lines around access modifiers."
575
+ Enabled: false
576
+
577
+ Style/EmptyLinesAroundBlockBody:
578
+ Description: "Keeps track of empty lines around block bodies."
579
+ Enabled: false
580
+
581
+ Style/EmptyLinesAroundClassBody:
582
+ Description: "Keeps track of empty lines around class bodies."
583
+ Enabled: false
584
+
585
+ Style/EmptyLinesAroundModuleBody:
586
+ Description: "Keeps track of empty lines around module bodies."
587
+ Enabled: false
588
+
589
+ Style/EmptyLinesAroundMethodBody:
590
+ Description: "Keeps track of empty lines around method bodies."
591
+ Enabled: false
592
+
593
+ Style/EmptyLiteral:
594
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
595
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
596
+ Enabled: false
597
+
598
+ Style/EndBlock:
599
+ Description: 'Avoid the use of END blocks.'
600
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
601
+ Enabled: false
602
+
603
+ Style/EndOfLine:
604
+ Description: 'Use Unix-style line endings.'
605
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
606
+ Enabled: false
607
+
608
+ Style/EvenOdd:
609
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
610
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
611
+ Enabled: false
612
+
613
+ Style/ExtraSpacing:
614
+ Description: 'Do not use unnecessary spacing.'
615
+ Enabled: false
616
+
617
+ Style/FileName:
618
+ Description: 'Use snake_case for source file names.'
619
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
620
+ Enabled: false
621
+
622
+ Style/InitialIndentation:
623
+ Description: >-
624
+ Checks the indentation of the first non-blank non-comment line in a file.
625
+ Enabled: false
626
+
627
+ Style/FirstParameterIndentation:
628
+ Description: 'Checks the indentation of the first parameter in a method call.'
629
+ Enabled: false
630
+
631
+ Style/FlipFlop:
632
+ Description: 'Checks for flip flops'
633
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
634
+ Enabled: false
635
+
636
+ Style/For:
637
+ Description: 'Checks use of for or each in multiline loops.'
638
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
639
+ Enabled: false
640
+
641
+ Style/FormatString:
642
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
643
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
644
+ Enabled: false
645
+
646
+ Style/GlobalVars:
647
+ Description: 'Do not introduce global variables.'
648
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
649
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
650
+ Enabled: false
651
+
652
+ Style/GuardClause:
653
+ Description: 'Check for conditionals that can be replaced with guard clauses'
654
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
655
+ Enabled: false
656
+
657
+ Style/HashSyntax:
658
+ Description: >-
659
+ Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
660
+ { :a => 1, :b => 2 }.
661
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
662
+ Enabled: false
663
+
664
+ Style/IfUnlessModifier:
665
+ Description: >-
666
+ Favor modifier if/unless usage when you have a
667
+ single-line body.
668
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
669
+ Enabled: false
670
+
671
+ Style/IfWithSemicolon:
672
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
673
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
674
+ Enabled: false
675
+
676
+ Style/IndentationConsistency:
677
+ Description: 'Keep indentation straight.'
678
+ Enabled: false
679
+
680
+ Style/IndentationWidth:
681
+ Description: 'Use 2 spaces for indentation.'
682
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
683
+ Enabled: false
684
+
685
+ Style/IndentArray:
686
+ Description: >-
687
+ Checks the indentation of the first element in an array
688
+ literal.
689
+ Enabled: false
690
+
691
+ Style/IndentHash:
692
+ Description: 'Checks the indentation of the first key in a hash literal.'
693
+ Enabled: false
694
+
695
+ Style/InfiniteLoop:
696
+ Description: 'Use Kernel#loop for infinite loops.'
697
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
698
+ Enabled: false
699
+
700
+ Style/Lambda:
701
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
702
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
703
+ Enabled: false
704
+
705
+ Style/LambdaCall:
706
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
707
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
708
+ Enabled: false
709
+
710
+ Style/LeadingCommentSpace:
711
+ Description: 'Comments should start with a space.'
712
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
713
+ Enabled: false
714
+
715
+ Style/LineEndConcatenation:
716
+ Description: >-
717
+ Use \ instead of + or << to concatenate two string literals at
718
+ line end.
719
+ Enabled: false
720
+
721
+ Style/MethodCallParentheses:
722
+ Description: 'Do not use parentheses for method calls with no arguments.'
723
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
724
+ Enabled: false
725
+
726
+ Style/MethodDefParentheses:
727
+ Description: >-
728
+ Checks if the method definitions have or don't have
729
+ parentheses.
730
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
731
+ Enabled: false
732
+
733
+ Style/MethodName:
734
+ Description: 'Use the configured style when naming methods.'
735
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
736
+ Enabled: false
737
+
738
+ Style/ModuleFunction:
739
+ Description: 'Checks for usage of `extend self` in modules.'
740
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
741
+ Enabled: false
742
+
743
+ Style/MultilineBlockChain:
744
+ Description: 'Avoid multi-line chains of blocks.'
745
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
746
+ Enabled: false
747
+
748
+ Style/MultilineBlockLayout:
749
+ Description: 'Ensures newlines after multiline block do statements.'
750
+ Enabled: false
751
+
752
+ Style/MultilineIfThen:
753
+ Description: 'Do not use then for multi-line if/unless.'
754
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
755
+ Enabled: false
756
+
757
+ Style/MultilineOperationIndentation:
758
+ Description: >-
759
+ Checks indentation of binary operations that span more than
760
+ one line.
761
+ Enabled: false
762
+
763
+ Style/MultilineTernaryOperator:
764
+ Description: >-
765
+ Avoid multi-line ?: (the ternary operator);
766
+ use if/unless instead.
767
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
768
+ Enabled: false
769
+
770
+ Style/NegatedIf:
771
+ Description: >-
772
+ Favor unless over if for negative conditions
773
+ (or control flow or).
774
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
775
+ Enabled: false
776
+
777
+ Style/NegatedWhile:
778
+ Description: 'Favor until over while for negative conditions.'
779
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
780
+ Enabled: false
781
+
782
+ Style/NestedTernaryOperator:
783
+ Description: 'Use one expression per branch in a ternary operator.'
784
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
785
+ Enabled: false
786
+
787
+ Style/Next:
788
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
789
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
790
+ Enabled: false
791
+
792
+ Style/NilComparison:
793
+ Description: 'Prefer x.nil? to x == nil.'
794
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
795
+ Enabled: false
796
+
797
+ Style/NonNilCheck:
798
+ Description: 'Checks for redundant nil checks.'
799
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
800
+ Enabled: false
801
+
802
+ Style/Not:
803
+ Description: 'Use ! instead of not.'
804
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
805
+ Enabled: false
806
+
807
+ Style/NumericLiterals:
808
+ Description: >-
809
+ Add underscores to large numeric literals to improve their
810
+ readability.
811
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
812
+ Enabled: false
813
+
814
+ Style/OneLineConditional:
815
+ Description: >-
816
+ Favor the ternary operator(?:) over
817
+ if/then/else/end constructs.
818
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
819
+ Enabled: false
820
+
821
+ Style/OpMethod:
822
+ Description: 'When defining binary operators, name the argument other.'
823
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
824
+ Enabled: false
825
+
826
+ Style/OptionalArguments:
827
+ Description: >-
828
+ Checks for optional arguments that do not appear at the end
829
+ of the argument list
830
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
831
+ Enabled: false
832
+
833
+ Style/ParallelAssignment:
834
+ Description: >-
835
+ Check for simple usages of parallel assignment.
836
+ It will only warn when the number of variables
837
+ matches on both sides of the assignment.
838
+ This also provides performance benefits
839
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
840
+ Enabled: false
841
+
842
+ Style/ParenthesesAroundCondition:
843
+ Description: >-
844
+ Don't use parentheses around the condition of an
845
+ if/unless/while.
846
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
847
+ Enabled: false
848
+
849
+ Style/PercentLiteralDelimiters:
850
+ Description: 'Use `%`-literal delimiters consistently'
851
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
852
+ Enabled: false
853
+
854
+ Style/PercentQLiterals:
855
+ Description: 'Checks if uses of %Q/%q match the configured preference.'
856
+ Enabled: false
857
+
858
+ Style/PerlBackrefs:
859
+ Description: 'Avoid Perl-style regex back references.'
860
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
861
+ Enabled: false
862
+
863
+ Style/PredicateName:
864
+ Description: 'Check the names of predicate methods.'
865
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
866
+ Enabled: false
867
+
868
+ Style/Proc:
869
+ Description: 'Use proc instead of Proc.new.'
870
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
871
+ Enabled: false
872
+
873
+ Style/RaiseArgs:
874
+ Description: 'Checks the arguments passed to raise/fail.'
875
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
876
+ Enabled: false
877
+
878
+ Style/RedundantBegin:
879
+ Description: "Don't use begin blocks when they are not needed."
880
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
881
+ Enabled: false
882
+
883
+ Style/RedundantException:
884
+ Description: "Checks for an obsolete RuntimeException argument in raise/fail."
885
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
886
+ Enabled: false
887
+
888
+ Style/RedundantReturn:
889
+ Description: "Don't use return where it's not required."
890
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
891
+ Enabled: false
892
+
893
+ Style/RedundantSelf:
894
+ Description: "Don't use self where it's not needed."
895
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
896
+ Enabled: false
897
+
898
+ Style/RegexpLiteral:
899
+ Description: 'Use / or %r around regular expressions.'
900
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
901
+ Enabled: false
902
+
903
+ Style/RescueEnsureAlignment:
904
+ Description: 'Align rescues and ensures correctly.'
905
+ Enabled: false
906
+
907
+ Style/RescueModifier:
908
+ Description: 'Avoid using rescue in its modifier form.'
909
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
910
+ Enabled: false
911
+
912
+ Style/SelfAssignment:
913
+ Description: >-
914
+ Checks for places where self-assignment shorthand should have
915
+ been used.
916
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
917
+ Enabled: false
918
+
919
+ Style/Semicolon:
920
+ Description: "Don't use semicolons to terminate expressions."
921
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
922
+ Enabled: false
923
+
924
+ Style/SignalException:
925
+ Description: 'Checks for proper usage of fail and raise.'
926
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
927
+ Enabled: false
928
+
929
+ Style/SingleLineBlockParams:
930
+ Description: 'Enforces the names of some block params.'
931
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
932
+ Enabled: false
933
+
934
+ Style/SingleLineMethods:
935
+ Description: 'Avoid single-line methods.'
936
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
937
+ Enabled: false
938
+
939
+ Style/SpaceBeforeFirstArg:
940
+ Description: >-
941
+ Checks that exactly one space is used between a method name
942
+ and the first argument for method calls without parentheses.
943
+ Enabled: true
944
+
945
+ Style/SpaceAfterColon:
946
+ Description: 'Use spaces after colons.'
947
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
948
+ Enabled: false
949
+
950
+ Style/SpaceAfterComma:
951
+ Description: 'Use spaces after commas.'
952
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
953
+ Enabled: false
954
+
955
+ Style/SpaceAroundKeyword:
956
+ Description: 'Use spaces around keywords.'
957
+ Enabled: false
958
+
959
+ Style/SpaceAfterMethodName:
960
+ Description: >-
961
+ Do not put a space between a method name and the opening
962
+ parenthesis in a method definition.
963
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
964
+ Enabled: false
965
+
966
+ Style/SpaceAfterNot:
967
+ Description: Tracks redundant space after the ! operator.
968
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
969
+ Enabled: false
970
+
971
+ Style/SpaceAfterSemicolon:
972
+ Description: 'Use spaces after semicolons.'
973
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
974
+ Enabled: false
975
+
976
+ Style/SpaceBeforeBlockBraces:
977
+ Description: >-
978
+ Checks that the left block brace has or doesn't have space
979
+ before it.
980
+ Enabled: false
981
+
982
+ Style/SpaceBeforeComma:
983
+ Description: 'No spaces before commas.'
984
+ Enabled: false
985
+
986
+ Style/SpaceBeforeComment:
987
+ Description: >-
988
+ Checks for missing space between code and a comment on the
989
+ same line.
990
+ Enabled: false
991
+
992
+ Style/SpaceBeforeSemicolon:
993
+ Description: 'No spaces before semicolons.'
994
+ Enabled: false
995
+
996
+ Style/SpaceInsideBlockBraces:
997
+ Description: >-
998
+ Checks that block braces have or don't have surrounding space.
999
+ For blocks taking parameters, checks that the left brace has
1000
+ or doesn't have trailing space.
1001
+ Enabled: false
1002
+
1003
+ Style/SpaceAroundBlockParameters:
1004
+ Description: 'Checks the spacing inside and after block parameters pipes.'
1005
+ Enabled: false
1006
+
1007
+ Style/SpaceAroundEqualsInParameterDefault:
1008
+ Description: >-
1009
+ Checks that the equals signs in parameter default assignments
1010
+ have or don't have surrounding space depending on
1011
+ configuration.
1012
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
1013
+ Enabled: false
1014
+
1015
+ Style/SpaceAroundOperators:
1016
+ Description: 'Use a single space around operators.'
1017
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1018
+ Enabled: false
1019
+
1020
+ Style/SpaceInsideBrackets:
1021
+ Description: 'No spaces after [ or before ].'
1022
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1023
+ Enabled: false
1024
+
1025
+ Style/SpaceInsideHashLiteralBraces:
1026
+ Description: "Use spaces inside hash literal braces - or don't."
1027
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1028
+ Enabled: false
1029
+
1030
+ Style/SpaceInsideParens:
1031
+ Description: 'No spaces after ( or before ).'
1032
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1033
+ Enabled: false
1034
+
1035
+ Style/SpaceInsideRangeLiteral:
1036
+ Description: 'No spaces inside range literals.'
1037
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
1038
+ Enabled: false
1039
+
1040
+ Style/SpaceInsideStringInterpolation:
1041
+ Description: 'Checks for padding/surrounding spaces inside string interpolation.'
1042
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
1043
+ Enabled: false
1044
+
1045
+ Style/SpecialGlobalVars:
1046
+ Description: 'Avoid Perl-style global variables.'
1047
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
1048
+ Enabled: false
1049
+
1050
+ Style/StringLiterals:
1051
+ Description: 'Checks if uses of quotes match the configured preference.'
1052
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
1053
+ Enabled: false
1054
+
1055
+ Style/StringLiteralsInInterpolation:
1056
+ Description: >-
1057
+ Checks if uses of quotes inside expressions in interpolated
1058
+ strings match the configured preference.
1059
+ Enabled: false
1060
+
1061
+ Style/StructInheritance:
1062
+ Description: 'Checks for inheritance from Struct.new.'
1063
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
1064
+ Enabled: false
1065
+
1066
+ Style/SymbolLiteral:
1067
+ Description: 'Use plain symbols instead of string symbols when possible.'
1068
+ Enabled: false
1069
+
1070
+ Style/SymbolProc:
1071
+ Description: 'Use symbols as procs instead of blocks when possible.'
1072
+ Enabled: false
1073
+
1074
+ Style/Tab:
1075
+ Description: 'No hard tabs.'
1076
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
1077
+ Enabled: false
1078
+
1079
+ Style/TrailingBlankLines:
1080
+ Description: 'Checks trailing blank lines and final newline.'
1081
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
1082
+ Enabled: false
1083
+
1084
+ Style/TrailingCommaInArguments:
1085
+ Description: 'Checks for trailing comma in parameter lists.'
1086
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma'
1087
+ Enabled: false
1088
+
1089
+ Style/TrailingCommaInLiteral:
1090
+ Description: 'Checks for trailing comma in literals.'
1091
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
1092
+ Enabled: false
1093
+
1094
+ Style/TrailingWhitespace:
1095
+ Description: 'Avoid trailing whitespace.'
1096
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
1097
+ Enabled: false
1098
+
1099
+ Style/TrivialAccessors:
1100
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
1101
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
1102
+ Enabled: false
1103
+
1104
+ Style/UnlessElse:
1105
+ Description: >-
1106
+ Do not use unless with else. Rewrite these with the positive
1107
+ case first.
1108
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
1109
+ Enabled: false
1110
+
1111
+ Style/UnneededCapitalW:
1112
+ Description: 'Checks for %W when interpolation is not needed.'
1113
+ Enabled: false
1114
+
1115
+ Style/UnneededPercentQ:
1116
+ Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
1117
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
1118
+ Enabled: false
1119
+
1120
+ Style/TrailingUnderscoreVariable:
1121
+ Description: >-
1122
+ Checks for the usage of unneeded trailing underscores at the
1123
+ end of parallel variable assignment.
1124
+ Enabled: false
1125
+
1126
+ Style/VariableInterpolation:
1127
+ Description: >-
1128
+ Don't interpolate global, instance and class variables
1129
+ directly in strings.
1130
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
1131
+ Enabled: false
1132
+
1133
+ Style/VariableName:
1134
+ Description: 'Use the configured style when naming variables.'
1135
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
1136
+ Enabled: false
1137
+
1138
+ Style/WhenThen:
1139
+ Description: 'Use when x then ... for one-line cases.'
1140
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
1141
+ Enabled: false
1142
+
1143
+ Style/WhileUntilDo:
1144
+ Description: 'Checks for redundant do after while or until.'
1145
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
1146
+ Enabled: false
1147
+
1148
+ Style/WhileUntilModifier:
1149
+ Description: >-
1150
+ Favor modifier while/until usage when you have a
1151
+ single-line body.
1152
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
1153
+ Enabled: false
1154
+
1155
+ Style/WordArray:
1156
+ Description: 'Use %w or %W for arrays of words.'
1157
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
1158
+ Enabled: false