alchemy_cms 3.2.0.beta → 3.2.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +661 -863
  3. data/README.md +5 -63
  4. data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +11 -10
  5. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +6 -0
  6. data/app/assets/stylesheets/alchemy/_extends.scss +0 -6
  7. data/app/assets/stylesheets/alchemy/_mixins.scss +6 -0
  8. data/app/assets/stylesheets/alchemy/buttons.scss +1 -1
  9. data/app/assets/stylesheets/alchemy/elements.scss +1 -1
  10. data/app/assets/stylesheets/alchemy/menubar.scss +1 -1
  11. data/app/assets/stylesheets/alchemy/selects.scss +5 -1
  12. data/app/assets/stylesheets/alchemy/upload.scss +1 -1
  13. data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
  14. data/app/controllers/alchemy/base_controller.rb +4 -57
  15. data/app/controllers/alchemy/messages_controller.rb +2 -2
  16. data/app/controllers/alchemy/pages_controller.rb +22 -31
  17. data/app/controllers/alchemy/pictures_controller.rb +2 -2
  18. data/app/helpers/alchemy/admin/base_helper.rb +7 -0
  19. data/app/helpers/alchemy/admin/elements_helper.rb +31 -15
  20. data/app/helpers/alchemy/admin/pages_helper.rb +17 -0
  21. data/app/helpers/alchemy/base_helper.rb +0 -28
  22. data/app/helpers/alchemy/pages_helper.rb +18 -12
  23. data/app/helpers/alchemy/url_helper.rb +2 -2
  24. data/app/models/alchemy/cell.rb +1 -1
  25. data/app/models/alchemy/content/factory.rb +12 -6
  26. data/app/models/alchemy/element.rb +3 -3
  27. data/app/models/alchemy/element/definitions.rb +1 -1
  28. data/app/models/alchemy/element_to_page.rb +7 -0
  29. data/app/models/alchemy/language.rb +1 -1
  30. data/app/models/alchemy/page.rb +8 -1
  31. data/app/models/alchemy/page/page_cells.rb +2 -2
  32. data/app/models/alchemy/page/page_elements.rb +23 -5
  33. data/app/models/alchemy/page/page_natures.rb +3 -3
  34. data/app/models/alchemy/page/page_scopes.rb +1 -1
  35. data/app/models/alchemy/picture.rb +1 -1
  36. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +1 -1
  37. data/app/views/alchemy/admin/pages/_form.html.erb +1 -1
  38. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -1
  39. data/app/views/alchemy/breadcrumb/_page.html.erb +3 -2
  40. data/app/views/alchemy/breadcrumb/_separator.html.erb +1 -0
  41. data/app/views/alchemy/breadcrumb/_wrapper.html.erb +13 -0
  42. data/app/views/alchemy/language_links/_language.html.erb +1 -1
  43. data/app/views/alchemy/navigation/_link.html.erb +1 -1
  44. data/app/views/alchemy/pages/show.rss.builder +5 -7
  45. data/app/views/layouts/alchemy/admin.html.erb +5 -0
  46. data/config/routes.rb +13 -10
  47. data/lib/alchemy/configuration_methods.rb +29 -0
  48. data/lib/alchemy/controller_actions.rb +12 -4
  49. data/lib/alchemy/engine.rb +3 -0
  50. data/lib/alchemy/errors.rb +1 -1
  51. data/lib/alchemy/essence.rb +14 -12
  52. data/lib/alchemy/on_page_layout.rb +58 -0
  53. data/lib/alchemy/page_layout.rb +1 -1
  54. data/lib/alchemy/permissions.rb +21 -16
  55. data/lib/alchemy/routing_constraints.rb +49 -0
  56. data/lib/alchemy/seeder.rb +4 -2
  57. data/lib/alchemy/ssl_protection.rb +30 -0
  58. data/lib/alchemy/test_support/essence_shared_examples.rb +118 -25
  59. data/lib/alchemy/test_support/factories.rb +5 -8
  60. data/lib/alchemy/test_support/integration_helpers.rb +16 -10
  61. data/lib/alchemy/upgrader/three_point_two.rb +34 -4
  62. data/lib/alchemy/version.rb +1 -1
  63. data/lib/rails/generators/alchemy/{scaffold → install}/files/_article_editor.html.erb +0 -0
  64. data/lib/rails/generators/alchemy/{scaffold → install}/files/_article_view.html.erb +0 -0
  65. data/lib/rails/generators/alchemy/{scaffold → install}/files/_standard.html.erb +0 -0
  66. data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.de.yml +0 -0
  67. data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.elements.css.scss +0 -0
  68. data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.en.yml +0 -0
  69. data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.es.yml +0 -0
  70. data/lib/rails/generators/alchemy/{scaffold → install}/files/application.html.erb +0 -0
  71. data/lib/rails/generators/alchemy/install/install_generator.rb +69 -0
  72. data/lib/rails/generators/alchemy/{scaffold/files/elements.yml → install/templates/elements.yml.tt} +2 -0
  73. data/lib/rails/generators/alchemy/{scaffold → install}/templates/page_layouts.yml.tt +2 -0
  74. data/lib/rails/generators/alchemy/views/views_generator.rb +41 -0
  75. data/lib/rails/templates/alchemy.rb +2 -2
  76. data/lib/tasks/alchemy/db.rake +0 -5
  77. data/lib/tasks/alchemy/install.rake +10 -5
  78. data/lib/tasks/alchemy/tidy.rake +2 -0
  79. data/spec/controllers/admin/attachments_controller_spec.rb +1 -1
  80. data/spec/controllers/admin/clipboard_controller_spec.rb +1 -1
  81. data/spec/controllers/admin/contents_controller_spec.rb +1 -1
  82. data/spec/controllers/admin/dashboard_controller_spec.rb +2 -2
  83. data/spec/controllers/admin/elements_controller_spec.rb +1 -1
  84. data/spec/controllers/admin/essence_files_controller_spec.rb +1 -1
  85. data/spec/controllers/admin/essence_pictures_controller_spec.rb +1 -1
  86. data/spec/controllers/admin/languages_controller_spec.rb +1 -1
  87. data/spec/controllers/admin/layoutpages_controller_spec.rb +1 -1
  88. data/spec/controllers/admin/pages_controller_spec.rb +4 -4
  89. data/spec/controllers/admin/pictures_controller_spec.rb +1 -1
  90. data/spec/controllers/admin/resources_controller_spec.rb +1 -1
  91. data/spec/controllers/admin/trash_controller_spec.rb +1 -1
  92. data/spec/controllers/alchemy/admin/tags_controller_spec.rb +1 -1
  93. data/spec/controllers/attachments_controller_spec.rb +1 -1
  94. data/spec/controllers/base_controller_spec.rb +22 -0
  95. data/spec/controllers/elements_controller_spec.rb +1 -1
  96. data/spec/controllers/pages_controller_spec.rb +15 -16
  97. data/spec/controllers/pictures_controller_spec.rb +212 -162
  98. data/spec/dummy/app/controllers/login_controller.rb +5 -0
  99. data/spec/dummy/app/models/dummy_model.rb +3 -0
  100. data/spec/dummy/config/alchemy/cells.yml +4 -1
  101. data/spec/dummy/config/alchemy/elements.yml +8 -0
  102. data/spec/dummy/config/alchemy/page_layouts.yml +5 -1
  103. data/spec/dummy/config/routes.rb +1 -2
  104. data/spec/dummy/db/migrate/20150412103152_create_dummy_model.rb +7 -0
  105. data/spec/dummy/db/schema.rb +30 -26
  106. data/spec/features/admin/dashboard_spec.rb +11 -9
  107. data/spec/features/admin/language_tree_feature_spec.rb +5 -6
  108. data/spec/features/admin/legacy_page_url_management_spec.rb +1 -1
  109. data/spec/features/admin/link_overlay_spec.rb +1 -1
  110. data/spec/features/admin/locale_select_feature_spec.rb +1 -1
  111. data/spec/features/admin/modules_integration_spec.rb +1 -1
  112. data/spec/features/admin/navigation_feature_spec.rb +1 -1
  113. data/spec/features/admin/page_creation_feature_spec.rb +1 -1
  114. data/spec/features/admin/page_editing_feature_spec.rb +3 -3
  115. data/spec/features/admin/picture_library_integration_spec.rb +1 -1
  116. data/spec/features/admin/resources_integration_spec.rb +1 -1
  117. data/spec/features/admin/site_select_feature_spec.rb +32 -0
  118. data/spec/features/admin/tinymce_feature_spec.rb +1 -3
  119. data/spec/features/page_feature_spec.rb +36 -27
  120. data/spec/features/security_spec.rb +1 -1
  121. data/spec/features/translation_integration_spec.rb +3 -3
  122. data/spec/helpers/admin/elements_helper_spec.rb +103 -26
  123. data/spec/helpers/admin/pages_helper_spec.rb +32 -1
  124. data/spec/helpers/base_helper_spec.rb +0 -45
  125. data/spec/helpers/pages_helper_spec.rb +18 -17
  126. data/spec/helpers/url_helper_spec.rb +8 -5
  127. data/spec/libraries/controller_actions_spec.rb +2 -2
  128. data/spec/libraries/on_page_layout_spec.rb +112 -0
  129. data/spec/libraries/page_layout_spec.rb +5 -1
  130. data/spec/libraries/permissions_spec.rb +13 -15
  131. data/spec/models/cell_spec.rb +4 -0
  132. data/spec/models/content_spec.rb +6 -0
  133. data/spec/models/dummy_model_spec.rb +11 -0
  134. data/spec/models/element_spec.rb +6 -1
  135. data/spec/models/element_to_page_spec.rb +14 -0
  136. data/spec/models/page_spec.rb +111 -19
  137. data/spec/routing/routing_spec.rb +120 -101
  138. data/spec/spec_helper.rb +3 -3
  139. metadata +36 -21
  140. data/app/views/alchemy/breadcrumb/_spacer.html.erb +0 -1
  141. data/lib/alchemy/capistrano.rb +0 -230
  142. data/lib/alchemy/test_support/auth_helpers.rb +0 -35
  143. data/lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb +0 -90
  144. data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +0 -113
  145. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +0 -63
  146. data/spec/dummy/app/controllers/errors_controller.rb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d02423e2d293983c8074336ea6257e4f5396b01
4
- data.tar.gz: 2960201acb1ac8abe310c514e95232c4e9e79c14
3
+ metadata.gz: 5f8ca76e53123738e5b411666a78d9677f265404
4
+ data.tar.gz: ffc2be39f4cb1bc85af32c008b8029175fd1b4d8
5
5
  SHA512:
6
- metadata.gz: 7d9e11f92a046901b26063580acd9501ba993ce8941039bbfe63043d3b2b69be11b8c551b5bb8aa832578d6995941b089320a6611ab162655cd85980a044ba01
7
- data.tar.gz: f1eb90673caf49095f03a350c4f89a603accf8311e2f320a08b96506252834fad22ed8c883b68da38b78d877f6a3173dff36fd15d81aff2c93ee48756c97b6a4
6
+ metadata.gz: e8e351a38eee79090b65c5d1d96d2bd7b1c8ca07aad0f4153554e2f9fbb112e03a92314d7ad975e8451c819b66a267892466346ae3d6e6d4e4f79c64fe1d6b36
7
+ data.tar.gz: 075c70c688c8b1091e12c3b8f727875c892f7a9e4b3dd2539e23e1004c1799add4bd844f79deb9d17452b9799f4538e0b45e0b32b77b093b06fd0f58b9d6bfde
data/.rubocop.yml CHANGED
@@ -1,1063 +1,861 @@
1
1
  AllCops:
2
+ # Include common Ruby source files.
2
3
  Include:
3
- - "**/*.gemspec"
4
- - "**/*.podspec"
5
- - "**/*.jbuilder"
6
- - "**/*.rake"
7
- - "**/*.opal"
8
- - "**/Gemfile"
9
- - "**/Rakefile"
10
- - "**/Capfile"
11
- - "**/Guardfile"
12
- - "**/Podfile"
13
- - "**/Thorfile"
14
- - "**/Vagrantfile"
15
- - "**/Berksfile"
16
- - "**/Cheffile"
17
- - "**/Vagabondfile"
4
+ - '**/*.gemspec'
5
+ - '**/*.jbuilder'
6
+ - '**/*.rake'
7
+ - '**/Gemfile'
8
+ - '**/Rakefile'
9
+ - '**/Guardfile'
18
10
  Exclude:
19
- - "vendor/**/*"
20
- - "db/schema.rb"
21
- RunRailsCops: false
22
- DisplayCopNames: false
23
- StyleGuideCopsOnly: false
11
+ - 'vendor/**/*'
12
+ - 'db/schema.rb'
13
+ - 'spec/**/*'
14
+ - '*.gemspec'
15
+ # By default, the rails cops are not run. Override in project or home
16
+ # directory .rubocop.yml files, or by giving the -R/--rails option.
17
+ RunRailsCops: true
18
+ # Cop names are not displayed in offense messages by default. Change behavior
19
+ # by overriding DisplayCopNames, or by giving the -D/--display-cop-names
20
+ # option.
21
+ DisplayCopNames: true
22
+ # Style guide URLs are not displayed in offense messages by default. Change
23
+ # behavior by overriding DisplayStyleGuide, or by giving the
24
+ # -S/--display-style-guide option.
25
+ DisplayStyleGuide: true
26
+ # Additional cops that do not reference a style guide rule may be enabled by
27
+ # default. Change behavior by overriding StyleGuideCopsOnly, or by giving
28
+ # the --only-guide-cops option.
29
+ StyleGuideCopsOnly: true
30
+
31
+ # Indent private/protected/public as deep as method definitions
24
32
  Style/AccessModifierIndentation:
25
- Description: Check indentation of private/protected visibility modifiers.
26
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected
27
- Enabled: true
28
33
  EnforcedStyle: indent
29
34
  SupportedStyles:
30
- - outdent
31
- - indent
35
+ - outdent
36
+ - indent
37
+
38
+ # Align the elements of a hash literal if they span more than one line.
32
39
  Style/AlignHash:
33
- Description: Align the elements of a hash literal if they span more than one line.
34
- Enabled: true
40
+ # Alignment of entries using hash rocket as separator. Valid values are:
41
+ #
42
+ # key - left alignment of keys
43
+ # 'a' => 2
44
+ # 'bb' => 3
45
+ # separator - alignment of hash rockets, keys are right aligned
46
+ # 'a' => 2
47
+ # 'bb' => 3
48
+ # table - left alignment of keys, hash rockets, and values
49
+ # 'a' => 2
50
+ # 'bb' => 3
35
51
  EnforcedHashRocketStyle: key
52
+ # Alignment of entries using colon as separator. Valid values are:
53
+ #
54
+ # key - left alignment of keys
55
+ # a: 0
56
+ # bb: 1
57
+ # separator - alignment of colons, keys are right aligned
58
+ # a: 0
59
+ # bb: 1
60
+ # table - left alignment of keys and values
61
+ # a: 0
62
+ # bb: 1
36
63
  EnforcedColonStyle: key
64
+ # Select whether hashes that are the last argument in a method call should be
65
+ # inspected? Valid values are:
66
+ #
67
+ # always_inspect - Inspect both implicit and explicit hashes.
68
+ # Registers an offense for:
69
+ # function(a: 1,
70
+ # b: 2)
71
+ # Registers an offense for:
72
+ # function({a: 1,
73
+ # b: 2})
74
+ # always_ignore - Ignore both implicit and explicit hashes.
75
+ # Accepts:
76
+ # function(a: 1,
77
+ # b: 2)
78
+ # Accepts:
79
+ # function({a: 1,
80
+ # b: 2})
81
+ # ignore_implicit - Ignore only implicit hashes.
82
+ # Accepts:
83
+ # function(a: 1,
84
+ # b: 2)
85
+ # Registers an offense for:
86
+ # function({a: 1,
87
+ # b: 2})
88
+ # ignore_explicit - Ignore only explicit hashes.
89
+ # Accepts:
90
+ # function({a: 1,
91
+ # b: 2})
92
+ # Registers an offense for:
93
+ # function(a: 1,
94
+ # b: 2)
37
95
  EnforcedLastArgumentHashStyle: always_inspect
38
96
  SupportedLastArgumentHashStyles:
39
- - always_inspect
40
- - always_ignore
41
- - ignore_implicit
42
- - ignore_explicit
97
+ - always_inspect
98
+ - always_ignore
99
+ - ignore_implicit
100
+ - ignore_explicit
101
+
43
102
  Style/AlignParameters:
44
- Description: Align the parameters of a method call if they span more than one line.
45
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
46
- Enabled: true
47
- EnforcedStyle: with_first_parameter
48
- SupportedStyles:
49
- - with_first_parameter
50
- - with_fixed_indentation
103
+ # Alignment of parameters in multi-line method calls.
104
+ #
105
+ # The `with_first_parameter` style aligns the following lines along the same
106
+ # column as the first parameter.
107
+ #
108
+ # method_call(a,
109
+ # b)
110
+ #
111
+ # The `with_fixed_indentation` style aligns the following lines with one
112
+ # level of indentation relative to the start of the line with the method call.
113
+ #
114
+ # method_call(a,
115
+ # b)
116
+ EnforcedStyle: with_fixed_indentation
117
+ SupportedStyles:
118
+ - with_first_parameter
119
+ - with_fixed_indentation
120
+
51
121
  Style/AndOr:
52
- Description: Use &&/|| instead of and/or.
53
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-and-or-or
54
- Enabled: true
55
- EnforcedStyle: always
56
- SupportedStyles:
57
- - always
58
- - conditionals
122
+ # Whether `and` and `or` are banned only in conditionals (conditionals)
123
+ # or completely (always).
124
+ EnforcedStyle: conditionals
125
+ SupportedStyles:
126
+ - always
127
+ - conditionals
128
+
129
+ # Checks if usage of %() or %Q() matches configuration.
59
130
  Style/BarePercentLiterals:
60
- Description: Checks if usage of %() or %Q() matches configuration.
61
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand
62
- Enabled: true
63
131
  EnforcedStyle: bare_percent
64
132
  SupportedStyles:
65
- - percent_q
66
- - bare_percent
67
- Style/BracesAroundHashParameters:
68
- Description: Enforce braces style around hash parameters.
69
- Enabled: true
70
- EnforcedStyle: no_braces
133
+ - percent_q
134
+ - bare_percent
135
+
136
+ Style/BlockDelimiters:
137
+ EnforcedStyle: semantic
71
138
  SupportedStyles:
72
- - braces
73
- - no_braces
74
- - context_dependent
139
+ # The `line_count_based` style enforces braces around single line blocks and
140
+ # do..end around multi-line blocks.
141
+ - line_count_based
142
+ # The `semantic` style enforces braces around functional blocks, where the
143
+ # primary purpose of the block is to return a value and do..end for
144
+ # procedural blocks, where the primary purpose of the block is its
145
+ # side-effects.
146
+ #
147
+ # This looks at the usage of a block's method to determine its type (e.g. is
148
+ # the result of a `map` assigned to a variable or passed to another
149
+ # method) but exceptions are permitted in the `ProceduralMethods`,
150
+ # `FunctionalMethods` and `IgnoredMethods` sections below.
151
+ - semantic
152
+ ProceduralMethods:
153
+ # Methods that are known to be procedural in nature but look functional from
154
+ # their usage, e.g.
155
+ #
156
+ # time = Benchmark.realtime do
157
+ # foo.bar
158
+ # end
159
+ #
160
+ # Here, the return value of the block is discarded but the return value of
161
+ # `Benchmark.realtime` is used.
162
+ - benchmark
163
+ - bm
164
+ - bmbm
165
+ - create
166
+ - each_with_object
167
+ - measure
168
+ - new
169
+ - realtime
170
+ - tap
171
+ - with_object
172
+ FunctionalMethods:
173
+ # Methods that are known to be functional in nature but look procedural from
174
+ # their usage, e.g.
175
+ #
176
+ # let(:foo) { Foo.new }
177
+ #
178
+ # Here, the return value of `Foo.new` is used to define a `foo` helper but
179
+ # doesn't appear to be used from the return value of `let`.
180
+ - let
181
+ - let!
182
+ - subject
183
+ - watch
184
+ IgnoredMethods:
185
+ # Methods that can be either procedural or functional and cannot be
186
+ # categorised from their usage alone, e.g.
187
+ #
188
+ # foo = lambda do |x|
189
+ # puts "Hello, #{x}"
190
+ # end
191
+ #
192
+ # foo = lambda do |x|
193
+ # x * 100
194
+ # end
195
+ #
196
+ # Here, it is impossible to tell from the return value of `lambda` whether
197
+ # the inner block's return value is significant.
198
+ - lambda
199
+ - proc
200
+ - it
201
+
202
+ Style/BracesAroundHashParameters:
203
+ Enabled: false
204
+ EnforcedStyle: context_dependent
205
+ SupportedStyles:
206
+ # The `braces` style enforces braces around all method parameters that are
207
+ # hashes.
208
+ - braces
209
+ # The `no_braces` style checks that the last parameter doesn't have braces
210
+ # around it.
211
+ - no_braces
212
+ # The `context_dependent` style checks that the last parameter doesn't have
213
+ # braces around it, but requires braces if the second to last parameter is
214
+ # also a hash literal.
215
+ - context_dependent
216
+
217
+ # Indentation of `when`.
75
218
  Style/CaseIndentation:
76
- Description: Indentation of when in a case/when/[else/]end.
77
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case
78
- Enabled: true
79
219
  IndentWhenRelativeTo: case
80
220
  SupportedStyles:
81
- - case
82
- - end
83
- IndentOneStep: false
221
+ - case
222
+ - end
223
+ IndentOneStep: true
224
+
84
225
  Style/ClassAndModuleChildren:
85
- Description: Checks style of children classes and modules.
86
- Enabled: false
226
+ # Checks the style of children definitions at classes and modules.
227
+ #
228
+ # Basically there are two different styles:
229
+ #
230
+ # `nested` - have each child on a separate line
231
+ # class Foo
232
+ # class Bar
233
+ # end
234
+ # end
235
+ #
236
+ # `compact` - combine definitions as much as possible
237
+ # class Foo::Bar
238
+ # end
239
+ #
240
+ # The compact style is only forced, for classes / modules with one child.
87
241
  EnforcedStyle: nested
88
242
  SupportedStyles:
89
- - nested
90
- - compact
243
+ - nested
244
+ - compact
245
+
91
246
  Style/ClassCheck:
92
- Description: Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.
93
- Enabled: true
94
247
  EnforcedStyle: is_a?
95
248
  SupportedStyles:
96
- - is_a?
97
- - kind_of?
249
+ - is_a?
250
+ - kind_of?
251
+
252
+ # Align with the style guide.
98
253
  Style/CollectionMethods:
99
- Description: Preferred collection methods.
100
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size
101
- Enabled: true
254
+ # Mapping from undesired method to desired_method
255
+ # e.g. to use `detect` over `find`:
256
+ #
257
+ # CollectionMethods:
258
+ # PreferredMethods:
259
+ # find: detect
102
260
  PreferredMethods:
103
- collect: map
104
- collect!: map!
105
- find: detect
106
- find_all: select
107
- reduce: inject
261
+ # collect: 'map'
262
+ # collect!: 'map!'
263
+ inject: 'reduce'
264
+ detect: 'find'
265
+ # find_all: 'select'
266
+
267
+ # Use ` or %x around command literals.
268
+ Style/CommandLiteral:
269
+ EnforcedStyle: mixed
270
+ # backticks: Always use backticks.
271
+ # percent_x: Always use %x.
272
+ # mixed: Use backticks on single-line commands, and %x on multi-line commands.
273
+ SupportedStyles:
274
+ - backticks
275
+ - percent_x
276
+ - mixed
277
+ # If false, the cop will always recommend using %x if one or more backticks
278
+ # are found in the command string.
279
+ AllowInnerBackticks: false
280
+
281
+ # Checks formatting of special comments
108
282
  Style/CommentAnnotation:
109
- Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK,
110
- REVIEW).
111
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#annotate-keywords
112
- Enabled: false
113
283
  Keywords:
114
- - TODO
115
- - FIXME
116
- - OPTIMIZE
117
- - HACK
118
- - REVIEW
284
+ - TODO
285
+ - FIXME
286
+ - OPTIMIZE
287
+ - HACK
288
+ - REVIEW
289
+
290
+ # Checks that you have put a copyright in a comment before any code.
291
+ #
292
+ # You can override the default Notice in your .rubocop.yml file.
293
+ #
294
+ # In order to use autocorrect, you must supply a value for the
295
+ # AutocorrectNotice key that matches the regexp Notice. A blank
296
+ # AutocorrectNotice will cause an error during autocorrect.
297
+ #
298
+ # Autocorrect will add a copyright notice in a comment at the top
299
+ # of the file immediately after any shebang or encoding comments.
300
+ #
301
+ # Example rubocop.yml:
302
+ #
303
+ # Style/Copyright:
304
+ # Enabled: true
305
+ # Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc'
306
+ # AutocorrectNotice: '# Copyright (c) 2015 Yahoo! Inc.'
307
+ #
308
+ Style/Copyright:
309
+ Enabled: false
310
+ Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
311
+ AutocorrectNotice: ''
312
+
313
+ Style/Documentation:
314
+ Enabled: false
315
+
316
+ # Multi-line method chaining should be done with leading dots.
119
317
  Style/DotPosition:
120
- Description: Checks the position of the dot in multi-line method calls.
121
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
122
- Enabled: true
123
- EnforcedStyle: trailing
318
+ EnforcedStyle: leading
319
+ SupportedStyles:
320
+ - leading
321
+ - trailing
322
+
323
+ # Warn on empty else statements
324
+ # empty - warn only on empty else
325
+ # nil - warn on else with nil in it
326
+ # both - warn on empty else and else with nil in it
327
+ Style/EmptyElse:
328
+ EnforcedStyle: both
124
329
  SupportedStyles:
125
- - leading
126
- - trailing
330
+ - empty
331
+ - nil
332
+ - both
333
+
334
+ # Use empty lines between defs.
127
335
  Style/EmptyLineBetweenDefs:
128
- Description: Use empty lines between defs.
129
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods
130
- Enabled: true
336
+ # If true, this parameter means that single line method definitions don't
337
+ # need an empty line between them.
131
338
  AllowAdjacentOneLineDefs: false
339
+
132
340
  Style/EmptyLinesAroundBlockBody:
133
- Description: Keeps track of empty lines around block bodies.
134
- Enabled: true
135
341
  EnforcedStyle: no_empty_lines
136
342
  SupportedStyles:
137
- - empty_lines
138
- - no_empty_lines
343
+ - empty_lines
344
+ - no_empty_lines
345
+
139
346
  Style/EmptyLinesAroundClassBody:
140
- Description: Keeps track of empty lines around class bodies.
141
- Enabled: true
142
347
  EnforcedStyle: no_empty_lines
143
348
  SupportedStyles:
144
- - empty_lines
145
- - no_empty_lines
349
+ - empty_lines
350
+ - no_empty_lines
351
+
146
352
  Style/EmptyLinesAroundModuleBody:
147
- Description: Keeps track of empty lines around module bodies.
148
- Enabled: true
149
353
  EnforcedStyle: no_empty_lines
150
354
  SupportedStyles:
151
- - empty_lines
152
- - no_empty_lines
355
+ - empty_lines
356
+ - no_empty_lines
357
+
358
+ # Checks whether the source file has a utf-8 encoding comment or not
359
+ # AutoCorrectEncodingComment must match the regex
360
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
153
361
  Style/Encoding:
154
- Description: Use UTF-8 as the source file encoding.
155
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#utf-8
156
362
  Enabled: false
157
363
  EnforcedStyle: always
158
364
  SupportedStyles:
159
- - when_needed
160
- - always
365
+ - when_needed
366
+ - always
367
+ AutoCorrectEncodingComment: '# encoding: utf-8'
368
+
161
369
  Style/FileName:
162
- Description: Use snake_case for source file names.
163
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
164
- Enabled: false
370
+ # File names listed in AllCops:Include are excluded by default. Add extra
371
+ # excludes here.
165
372
  Exclude: []
373
+
166
374
  Style/FirstParameterIndentation:
167
- Description: Checks the indentation of the first parameter in a method call.
168
- Enabled: true
169
375
  EnforcedStyle: special_for_inner_method_call_in_parentheses
170
376
  SupportedStyles:
171
- - consistent
172
- - special_for_inner_method_call
173
- - special_for_inner_method_call_in_parentheses
377
+ # The first parameter should always be indented one step more than the
378
+ # preceding line.
379
+ - consistent
380
+ # The first parameter should normally be indented one step more than the
381
+ # preceding line, but if it's a parameter for a method call that is itself
382
+ # a parameter in a method call, then the inner parameter should be indented
383
+ # relative to the inner method.
384
+ - special_for_inner_method_call
385
+ # Same as special_for_inner_method_call except that the special rule only
386
+ # applies if the outer method call encloses its arguments in parentheses.
387
+ - special_for_inner_method_call_in_parentheses
388
+
389
+ # Checks use of for or each in multiline loops.
174
390
  Style/For:
175
- Description: Checks use of for or each in multiline loops.
176
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-for-loops
177
- Enabled: true
178
391
  EnforcedStyle: each
179
392
  SupportedStyles:
180
- - for
181
- - each
393
+ - for
394
+ - each
395
+
396
+ # Enforce the method used for string formatting.
182
397
  Style/FormatString:
183
- Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%.
184
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#sprintf
185
- Enabled: false
186
398
  EnforcedStyle: format
187
399
  SupportedStyles:
188
- - format
189
- - sprintf
190
- - percent
400
+ - format
401
+ - sprintf
402
+ - percent
403
+
404
+ # Built-in global variables are allowed by default.
191
405
  Style/GlobalVars:
192
- Description: Do not introduce global variables.
193
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars
194
- Enabled: false
195
406
  AllowedVariables: []
407
+
408
+ # `MinBodyLength` defines the number of lines of the a body of an if / unless
409
+ # needs to have to trigger this cop
196
410
  Style/GuardClause:
197
- Description: Check for conditionals that can be replaced with guard clauses
198
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
199
- Enabled: false
200
411
  MinBodyLength: 1
412
+
201
413
  Style/HashSyntax:
202
- Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a =>
203
- 1, :b => 2 }.'
204
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-literals
205
- Enabled: true
206
414
  EnforcedStyle: ruby19
207
415
  SupportedStyles:
208
- - ruby19
209
- - hash_rockets
416
+ - ruby19
417
+ - ruby19_no_mixed_keys
418
+ - hash_rockets
419
+ # Force hashes that have a symbol value to use hash rockets
420
+ UseHashRocketsWithSymbolValues: false
421
+
210
422
  Style/IfUnlessModifier:
211
- Description: Favor modifier if/unless usage when you have a single-line body.
212
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
213
- Enabled: false
214
- MaxLineLength: 100
423
+ MaxLineLength: 80
424
+
425
+ Style/IndentationConsistency:
426
+ # The difference between `rails` and `normal` is that the `rails` style
427
+ # prescribes that in classes and modules the `protected` and `private`
428
+ # modifier keywords shall be indented the same as public methods and that
429
+ # protected and private members shall be indented one step more than the
430
+ # modifiers. Other than that, both styles mean that entities on the same
431
+ # logical depth shall have the same indentation.
432
+ EnforcedStyle: normal
433
+ SupportedStyles:
434
+ - normal
435
+ - rails
436
+
215
437
  Style/IndentationWidth:
216
- Description: Use 2 spaces for indentation.
217
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
218
- Enabled: true
438
+ # Number of spaces for each indentation level.
219
439
  Width: 2
440
+
441
+ # Checks the indentation of the first key in a hash literal.
220
442
  Style/IndentHash:
221
- Description: Checks the indentation of the first key in a hash literal.
222
- Enabled: true
223
- EnforcedStyle: special_inside_parentheses
224
- SupportedStyles:
225
- - special_inside_parentheses
226
- - consistent
443
+ # The value `special_inside_parentheses` means that hash literals with braces
444
+ # that have their opening brace on the same line as a surrounding opening
445
+ # round parenthesis, shall have their first key indented relative to the
446
+ # first position inside the parenthesis.
447
+ # The value `consistent` means that the indentation of the first key shall
448
+ # always be relative to the first position of the line where the opening
449
+ # brace is.
450
+ EnforcedStyle: consistent
451
+ SupportedStyles:
452
+ - special_inside_parentheses
453
+ - consistent
454
+
227
455
  Style/LambdaCall:
228
- Description: Use lambda.call(...) instead of lambda.(...).
229
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call
230
- Enabled: false
231
456
  EnforcedStyle: call
232
457
  SupportedStyles:
233
- - call
234
- - braces
458
+ - call
459
+ - braces
460
+
235
461
  Style/Next:
236
- Description: Use `next` to skip iteration instead of a condition at the end.
237
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals
238
- Enabled: false
462
+ # With `always` all conditions at the end of an iteration needs to be
463
+ # replaced by next - with `skip_modifier_ifs` the modifier if like this one
464
+ # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
239
465
  EnforcedStyle: skip_modifier_ifs
466
+ # `MinBodyLength` defines the number of lines of the a body of an if / unless
467
+ # needs to have to trigger this cop
240
468
  MinBodyLength: 3
241
469
  SupportedStyles:
242
- - skip_modifier_ifs
243
- - always
470
+ - skip_modifier_ifs
471
+ - always
472
+
244
473
  Style/NonNilCheck:
245
- Description: Checks for redundant nil checks.
246
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks
247
- Enabled: true
474
+ Enabled: false
475
+ # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
476
+ # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
477
+ # **usually** OK, but might change behavior.
478
+ #
479
+ # With `IncludeSemanticChanges` set to `false`, this cop does not report
480
+ # offenses for `!x.nil?` and does no changes that might change behavior.
248
481
  IncludeSemanticChanges: false
482
+
249
483
  Style/MethodDefParentheses:
250
- Description: Checks if the method definitions have or don't have parentheses.
251
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
252
- Enabled: true
253
484
  EnforcedStyle: require_parentheses
254
485
  SupportedStyles:
255
- - require_parentheses
256
- - require_no_parentheses
486
+ - require_parentheses
487
+ - require_no_parentheses
488
+
257
489
  Style/MethodName:
258
- Description: Use the configured style when naming methods.
259
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
260
- Enabled: true
261
490
  EnforcedStyle: snake_case
262
491
  SupportedStyles:
263
- - snake_case
264
- - camelCase
492
+ - snake_case
493
+ - camelCase
494
+
265
495
  Style/MultilineOperationIndentation:
266
- Description: Checks indentation of binary operations that span more than one line.
267
- Enabled: true
268
- EnforcedStyle: aligned
496
+ EnforcedStyle: indented
269
497
  SupportedStyles:
270
- - aligned
271
- - indented
498
+ - aligned
499
+ - indented
500
+
272
501
  Style/NumericLiterals:
273
- Description: Add underscores to large numeric literals to improve their readability.
274
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics
275
- Enabled: false
276
502
  MinDigits: 5
503
+
504
+ # Allow safe assignment in conditions.
277
505
  Style/ParenthesesAroundCondition:
278
- Description: Don't use parentheses around the condition of an if/unless/while.
279
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-parens-if
280
- Enabled: true
281
506
  AllowSafeAssignment: true
507
+
282
508
  Style/PercentLiteralDelimiters:
283
- Description: Use `%`-literal delimiters consistently
284
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces
285
- Enabled: false
286
509
  PreferredDelimiters:
287
- "%": "()"
288
- "%i": "()"
289
- "%q": "()"
290
- "%Q": "()"
291
- "%r": "{}"
292
- "%s": "()"
293
- "%w": "()"
294
- "%W": "()"
295
- "%x": "()"
510
+ '%': ()
511
+ '%i': ()
512
+ '%q': ()
513
+ '%Q': ()
514
+ '%r': '{}'
515
+ '%s': ()
516
+ '%w': ()
517
+ '%W': ()
518
+ '%x': ()
519
+
296
520
  Style/PercentQLiterals:
297
- Description: Checks if uses of %Q/%q match the configured preference.
298
- Enabled: true
521
+ Enabled: false
299
522
  EnforcedStyle: lower_case_q
300
523
  SupportedStyles:
301
- - lower_case_q
302
- - upper_case_q
524
+ - lower_case_q # Use %q when possible, %Q when necessary
525
+ - upper_case_q # Always use %Q
526
+
303
527
  Style/PredicateName:
304
- Description: Check the names of predicate methods.
305
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
306
- Enabled: true
528
+ Enabled: false
529
+ # Predicate name prefices.
307
530
  NamePrefix:
308
- - is_
309
- - has_
310
- - have_
531
+ - is_
532
+ - has_
533
+ - have_
534
+ # Predicate name prefices that should be removed.
311
535
  NamePrefixBlacklist:
312
- - is_
536
+ - is_
537
+ - has_
538
+ - have_
539
+
313
540
  Style/RaiseArgs:
314
- Description: Checks the arguments passed to raise/fail.
315
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages
316
541
  Enabled: false
317
542
  EnforcedStyle: exploded
318
543
  SupportedStyles:
319
- - compact
320
- - exploded
544
+ - compact # raise Exception.new(msg)
545
+ - exploded # raise Exception, msg
546
+
321
547
  Style/RedundantReturn:
322
- Description: Don't use return where it's not required.
323
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-return
324
- Enabled: true
548
+ # When true allows code like `return x, y`.
325
549
  AllowMultipleReturnValues: false
550
+
551
+ # Use / or %r around regular expressions.
326
552
  Style/RegexpLiteral:
327
- Description: Use %r for regular expressions matching more than `MaxSlashes` '/'
328
- characters. Use %r only for regular expressions matching more than `MaxSlashes`
329
- '/' character.
330
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-r
331
- Enabled: false
332
- MaxSlashes: 1
553
+ EnforcedStyle: mixed
554
+ # slashes: Always use slashes.
555
+ # percent_r: Always use %r.
556
+ # mixed: Use slashes on single-line regexes, and %r on multi-line regexes.
557
+ SupportedStyles:
558
+ - slashes
559
+ - percent_r
560
+ - mixed
561
+ # If false, the cop will always recommend using %r if one or more slashes
562
+ # are found in the regexp string.
563
+ AllowInnerSlashes: false
564
+
333
565
  Style/Semicolon:
334
- Description: Don't use semicolons to terminate expressions.
335
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon
336
- Enabled: true
566
+ # Allow ; to separate several expressions on the same line.
337
567
  AllowAsExpressionSeparator: false
568
+
338
569
  Style/SignalException:
339
- Description: Checks for proper usage of fail and raise.
340
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
341
570
  Enabled: false
342
571
  EnforcedStyle: semantic
343
572
  SupportedStyles:
344
- - only_raise
345
- - only_fail
346
- - semantic
573
+ - only_raise
574
+ - only_fail
575
+ - semantic
576
+
347
577
  Style/SingleLineBlockParams:
348
- Description: Enforces the names of some block params.
349
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks
350
- Enabled: false
351
578
  Methods:
352
- - reduce:
353
- - a
354
- - e
355
- - inject:
356
- - a
357
- - e
579
+ - reduce:
580
+ - a
581
+ - e
582
+ - inject:
583
+ - a
584
+ - e
585
+
358
586
  Style/SingleLineMethods:
359
- Description: Avoid single-line methods.
360
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods
361
- Enabled: false
362
587
  AllowIfMethodIsEmpty: true
588
+
589
+ Style/SingleSpaceBeforeFirstArg:
590
+ Enabled: false
591
+
363
592
  Style/StringLiterals:
364
- Description: Checks if uses of quotes match the configured preference.
365
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals
366
593
  Enabled: false
367
- EnforcedStyle: double_quotes
594
+ EnforcedStyle: single_quotes
368
595
  SupportedStyles:
369
- - single_quotes
370
- - double_quotes
596
+ - single_quotes
597
+ - double_quotes
598
+
371
599
  Style/StringLiteralsInInterpolation:
372
- Description: Checks if uses of quotes inside expressions in interpolated strings
373
- match the configured preference.
374
- Enabled: true
375
600
  EnforcedStyle: single_quotes
376
601
  SupportedStyles:
377
- - single_quotes
378
- - double_quotes
602
+ - single_quotes
603
+ - double_quotes
604
+
379
605
  Style/SpaceAroundBlockParameters:
380
- Description: Checks the spacing inside and after block parameters pipes.
381
- Enabled: true
382
606
  EnforcedStyleInsidePipes: no_space
383
607
  SupportedStyles:
384
- - space
385
- - no_space
608
+ - space
609
+ - no_space
610
+
386
611
  Style/SpaceAroundEqualsInParameterDefault:
387
- Description: Checks that the equals signs in parameter default assignments have
388
- or don't have surrounding space depending on configuration.
389
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-around-equals
390
- Enabled: true
391
612
  EnforcedStyle: space
392
613
  SupportedStyles:
393
- - space
394
- - no_space
614
+ - space
615
+ - no_space
616
+
617
+ Style/SpaceAroundOperators:
618
+ MultiSpaceAllowedForOperators:
619
+ - '='
620
+ - '=>'
621
+
395
622
  Style/SpaceBeforeBlockBraces:
396
- Description: Checks that the left block brace has or doesn't have space before it.
397
- Enabled: true
398
623
  EnforcedStyle: space
399
624
  SupportedStyles:
400
- - space
401
- - no_space
625
+ - space
626
+ - no_space
627
+
402
628
  Style/SpaceInsideBlockBraces:
403
- Description: Checks that block braces have or don't have surrounding space. For
404
- blocks taking parameters, checks that the left brace has or doesn't have trailing
405
- space.
406
- Enabled: true
407
629
  EnforcedStyle: space
408
630
  SupportedStyles:
409
- - space
410
- - no_space
631
+ - space
632
+ - no_space
633
+ # Valid values are: space, no_space
411
634
  EnforcedStyleForEmptyBraces: no_space
635
+ # Space between { and |. Overrides EnforcedStyle if there is a conflict.
412
636
  SpaceBeforeBlockParameters: true
637
+
413
638
  Style/SpaceInsideHashLiteralBraces:
414
- Description: Use spaces inside hash literal braces - or don't.
415
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
416
- Enabled: true
417
639
  EnforcedStyle: no_space
418
640
  EnforcedStyleForEmptyBraces: no_space
419
641
  SupportedStyles:
420
- - space
421
- - no_space
642
+ - space
643
+ - no_space
644
+
422
645
  Style/SymbolProc:
423
- Description: Use symbols as procs instead of blocks when possible.
424
- Enabled: true
646
+ # A list of method names to be ignored by the check.
647
+ # The names should be fairly unique, otherwise you'll end up ignoring lots of code.
425
648
  IgnoredMethods:
426
- - respond_to
649
+ - respond_to
650
+
427
651
  Style/TrailingBlankLines:
428
- Description: Checks trailing blank lines and final newline.
429
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof
430
- Enabled: true
431
652
  EnforcedStyle: final_newline
432
653
  SupportedStyles:
433
- - final_newline
434
- - final_blank_line
654
+ - final_newline
655
+ - final_blank_line
656
+
435
657
  Style/TrailingComma:
436
- Description: Checks for trailing comma in parameter lists and literals.
437
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas
438
- Enabled: false
658
+ # If EnforcedStyleForMultiline is comma, the cop requires a comma after the
659
+ # last item of a list, but only for lists where each item is on its own line.
660
+ # If EnforcedStyleForMultiline is consistent_comma, the cop requires a comma
661
+ # after the last item of a list, for all lists.
439
662
  EnforcedStyleForMultiline: no_comma
440
663
  SupportedStyles:
441
- - comma
442
- - no_comma
664
+ - comma
665
+ - consistent_comma
666
+ - no_comma
667
+
668
+ # TrivialAccessors requires exact name matches and doesn't allow
669
+ # predicated methods by default.
443
670
  Style/TrivialAccessors:
444
- Description: Prefer attr_* methods to trivial readers/writers.
445
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr_family
446
- Enabled: false
447
- ExactNameMatch: false
671
+ # When set to false the cop will suggest the use of accessor methods
672
+ # in situations like:
673
+ #
674
+ # def name
675
+ # @other_name
676
+ # end
677
+ #
678
+ # This way you can uncover "hidden" attributes in your code.
679
+ ExactNameMatch: true
448
680
  AllowPredicates: false
681
+ # Allows trivial writers that don't end in an equal sign. e.g.
682
+ #
683
+ # def on_exception(action)
684
+ # @on_exception=action
685
+ # end
686
+ # on_exception :restart
687
+ #
688
+ # Commonly used in DSLs
449
689
  AllowDSLWriters: false
690
+ IgnoreClassMethods: false
450
691
  Whitelist:
451
- - to_ary
452
- - to_a
453
- - to_c
454
- - to_enum
455
- - to_h
456
- - to_hash
457
- - to_i
458
- - to_int
459
- - to_io
460
- - to_open
461
- - to_path
462
- - to_proc
463
- - to_r
464
- - to_regexp
465
- - to_str
466
- - to_s
467
- - to_sym
692
+ - to_ary
693
+ - to_a
694
+ - to_c
695
+ - to_enum
696
+ - to_h
697
+ - to_hash
698
+ - to_i
699
+ - to_int
700
+ - to_io
701
+ - to_open
702
+ - to_path
703
+ - to_proc
704
+ - to_r
705
+ - to_regexp
706
+ - to_str
707
+ - to_s
708
+ - to_sym
709
+
710
+ Style/UnneededCapitalW:
711
+ Enabled: false
712
+
468
713
  Style/VariableName:
469
- Description: Use the configured style when naming variables.
470
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
471
- Enabled: true
472
714
  EnforcedStyle: snake_case
473
715
  SupportedStyles:
474
- - snake_case
475
- - camelCase
716
+ - snake_case
717
+ - camelCase
718
+
476
719
  Style/WhileUntilModifier:
477
- Description: Favor modifier while/until usage when you have a single-line body.
478
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier
479
- Enabled: false
480
- MaxLineLength: 100
720
+ MaxLineLength: 80
721
+
481
722
  Style/WordArray:
482
- Description: Use %w or %W for arrays of words.
483
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-w
484
- Enabled: false
485
723
  MinSize: 0
486
- WordRegex: !ruby/regexp /\A[\p{Word}]+\z/
724
+ # The regular expression WordRegex decides what is considered a word.
725
+ WordRegex: !ruby/regexp '/\A[\p{Word}]+\z/'
726
+
727
+ ##################### Metrics ##################################
728
+
487
729
  Metrics/AbcSize:
488
- Description: A calculated magnitude based on number of assignments, branches, and
489
- conditions.
490
- Enabled: true
730
+ # The ABC size is a calculated magnitude, so this number can be a Fixnum or
731
+ # a Float.
491
732
  Max: 15
733
+
492
734
  Metrics/BlockNesting:
493
- Description: Avoid excessive block nesting
494
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
495
- Enabled: false
496
735
  Max: 3
736
+
497
737
  Metrics/ClassLength:
498
- Description: Avoid classes longer than 100 lines of code.
499
- Enabled: false
500
- CountComments: false
738
+ CountComments: false # count full line comments?
501
739
  Max: 100
740
+
741
+ Metrics/ModuleLength:
742
+ CountComments: false # count full line comments?
743
+ Max: 100
744
+
745
+ # Avoid complex methods.
502
746
  Metrics/CyclomaticComplexity:
503
- Description: A complexity metric that is strongly correlated to the number of test
504
- cases needed to validate a method.
505
- Enabled: false
506
747
  Max: 6
748
+
507
749
  Metrics/LineLength:
508
- Description: Limit lines to 100 characters.
509
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
510
- Enabled: true
511
750
  Max: 100
751
+ # To make it possible to copy or click on URIs in the code, we allow lines
752
+ # contaning a URI to be longer than Max.
512
753
  AllowURI: true
513
754
  URISchemes:
514
- - http
515
- - https
755
+ - http
756
+ - https
757
+
516
758
  Metrics/MethodLength:
517
- Description: Avoid methods longer than 10 lines of code.
518
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods
519
- Enabled: false
520
- CountComments: false
759
+ CountComments: false # count full line comments?
521
760
  Max: 10
761
+
522
762
  Metrics/ParameterLists:
523
- Description: Avoid parameter lists longer than three or four parameters.
524
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
525
- Enabled: false
526
763
  Max: 5
527
764
  CountKeywordArgs: true
765
+
528
766
  Metrics/PerceivedComplexity:
529
- Description: A complexity metric geared towards measuring complexity for a human
530
- reader.
531
- Enabled: false
532
767
  Max: 7
768
+
769
+ ##################### Lint ##################################
770
+
771
+ # Allow safe assignment in conditions.
533
772
  Lint/AssignmentInCondition:
534
- Description: Don't use assignment in conditions.
535
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
536
- Enabled: false
537
773
  AllowSafeAssignment: true
774
+
775
+ # Align ends correctly.
538
776
  Lint/EndAlignment:
539
- Description: Align ends correctly.
540
- Enabled: true
777
+ # The value `keyword` means that `end` should be aligned with the matching
778
+ # keyword (if, while, etc.).
779
+ # The value `variable` means that in assignments, `end` should be aligned
780
+ # with the start of the variable on the left hand side of `=`. In all other
781
+ # situations, `end` should still be aligned with the keyword.
541
782
  AlignWith: keyword
542
783
  SupportedStyles:
543
- - keyword
544
- - variable
784
+ - keyword
785
+ - variable
786
+ AutoCorrect: false
787
+
545
788
  Lint/DefEndAlignment:
546
- Description: Align ends corresponding to defs correctly.
547
- Enabled: true
789
+ # The value `def` means that `end` should be aligned with the def keyword.
790
+ # The value `start_of_line` means that `end` should be aligned with method
791
+ # calls like `private`, `public`, etc, if present in front of the `def`
792
+ # keyword on the same line.
548
793
  AlignWith: start_of_line
549
794
  SupportedStyles:
550
- - start_of_line
551
- - def
795
+ - start_of_line
796
+ - def
797
+ AutoCorrect: false
798
+
799
+ ##################### Rails ##################################
800
+
552
801
  Rails/ActionFilter:
553
- Description: Enforces consistent use of action filter methods.
554
- Enabled: false
555
802
  EnforcedStyle: action
556
803
  SupportedStyles:
557
- - action
558
- - filter
804
+ - action
805
+ - filter
559
806
  Include:
560
- - app/controllers/**/*.rb
807
+ - app/controllers/**/*.rb
808
+
809
+ Rails/Date:
810
+ # The value `always` disallows usage of `Date.today`, `Date.current`,
811
+ # `Date#to_time` etc.
812
+ # The value `acceptable` allows usage of `Date.current`, `Date.yesterday`, etc
813
+ # (but not `Date.today`) which are overriden by ActiveSupport to handle current
814
+ # time zone.
815
+ EnforcedStyle: always
816
+ SupportedStyles:
817
+ - always
818
+ - acceptable
819
+
561
820
  Rails/DefaultScope:
562
- Description: Checks if the argument passed to default_scope is a block.
563
- Enabled: true
564
821
  Include:
565
- - app/models/**/*.rb
822
+ - app/models/**/*.rb
823
+
824
+ Rails/FindBy:
825
+ Include:
826
+ - app/models/**/*.rb
827
+
828
+ Rails/FindEach:
829
+ Include:
830
+ - app/models/**/*.rb
831
+
566
832
  Rails/HasAndBelongsToMany:
567
- Description: Prefer has_many :through to has_and_belongs_to_many.
568
- Enabled: true
569
833
  Include:
570
- - app/models/**/*.rb
834
+ - app/models/**/*.rb
835
+
571
836
  Rails/Output:
572
- Description: Checks for calls to puts, print, etc.
573
- Enabled: true
574
837
  Include:
575
- - app/**/*.rb
576
- - config/**/*.rb
577
- - db/**/*.rb
578
- - lib/**/*.rb
838
+ - app/**/*.rb
839
+ - config/**/*.rb
840
+ - db/**/*.rb
841
+ - lib/**/*.rb
842
+
579
843
  Rails/ReadWriteAttribute:
580
- Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
581
- Enabled: true
582
844
  Include:
583
- - app/models/**/*.rb
845
+ - app/models/**/*.rb
846
+
584
847
  Rails/ScopeArgs:
585
- Description: Checks the arguments of ActiveRecord scopes.
586
- Enabled: true
587
848
  Include:
588
- - app/models/**/*.rb
849
+ - app/models/**/*.rb
850
+
851
+ Rails/TimeZone:
852
+ # The value `always` means that `Time` should be used with `zone`.
853
+ # The value `acceptable` allows usage of `in_time_zone` instead of `zone`.
854
+ EnforcedStyle: always
855
+ SupportedStyles:
856
+ - always
857
+ - acceptable
858
+
589
859
  Rails/Validation:
590
- Description: Use validates :attribute, hash of validations.
591
- Enabled: true
592
860
  Include:
593
- - app/models/**/*.rb
594
- Style/InlineComment:
595
- Description: Avoid inline comments.
596
- Enabled: false
597
- Style/MethodCalledOnDoEndBlock:
598
- Description: Avoid chaining a method call on a do...end block.
599
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
600
- Enabled: false
601
- Style/SymbolArray:
602
- Description: Use %i or %I for arrays of symbols.
603
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-i
604
- Enabled: false
605
- Style/ExtraSpacing:
606
- Description: Do not use unnecessary spacing.
607
- Enabled: true
608
- Style/AccessorMethodName:
609
- Description: Check the naming of accessor methods for get_/set_.
610
- Enabled: false
611
- Style/Alias:
612
- Description: Use alias_method instead of alias.
613
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method
614
- Enabled: false
615
- Style/AlignArray:
616
- Description: Align the elements of an array literal if they span more than one line.
617
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays
618
- Enabled: true
619
- Style/ArrayJoin:
620
- Description: Use Array#join instead of Array#*.
621
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join
622
- Enabled: false
623
- Style/AsciiComments:
624
- Description: Use only ascii symbols in comments.
625
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-comments
626
- Enabled: false
627
- Style/AsciiIdentifiers:
628
- Description: Use only ascii symbols in identifiers.
629
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers
630
- Enabled: false
631
- Style/Attr:
632
- Description: Checks for uses of Module#attr.
633
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr
634
- Enabled: false
635
- Style/BeginBlock:
636
- Description: Avoid the use of BEGIN blocks.
637
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks
638
- Enabled: true
639
- Style/BlockComments:
640
- Description: Do not use block comments.
641
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-block-comments
642
- Enabled: true
643
- Style/BlockEndNewline:
644
- Description: Put end statement of multiline block on its own line.
645
- Enabled: true
646
- Style/Blocks:
647
- Description: Avoid using {...} for multi-line blocks (multiline chaining is always
648
- ugly). Prefer {...} over do...end for single-line blocks.
649
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
650
- Enabled: true
651
- Style/CaseEquality:
652
- Description: Avoid explicit use of the case equality operator(===).
653
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality
654
- Enabled: false
655
- Style/CharacterLiteral:
656
- Description: Checks for uses of character literals.
657
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-character-literals
658
- Enabled: false
659
- Style/ClassAndModuleCamelCase:
660
- Description: Use CamelCase for classes and modules.
661
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#camelcase-classes
662
- Enabled: true
663
- Style/ClassMethods:
664
- Description: Use self when defining module/class methods.
665
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#def-self-singletons
666
- Enabled: true
667
- Style/ClassVars:
668
- Description: Avoid the use of class variables.
669
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-class-vars
670
- Enabled: false
671
- Style/ColonMethodCall:
672
- Description: 'Do not use :: for method call.'
673
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#double-colons
674
- Enabled: false
675
- Style/CommentIndentation:
676
- Description: Indentation of comments.
677
- Enabled: true
678
- Style/ConstantName:
679
- Description: Constants should use SCREAMING_SNAKE_CASE.
680
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#screaming-snake-case
681
- Enabled: true
682
- Style/DefWithParentheses:
683
- Description: Use def with parentheses when there are arguments.
684
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
685
- Enabled: true
686
- Style/DeprecatedHashMethods:
687
- Description: Checks for use of deprecated Hash methods.
688
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-key
689
- Enabled: false
690
- Style/Documentation:
691
- Description: Document classes and non-namespace modules.
692
- Enabled: false
693
- Style/DoubleNegation:
694
- Description: Checks for uses of double negation (!!).
695
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang
696
- Enabled: false
697
- Style/EachWithObject:
698
- Description: Prefer `each_with_object` over `inject` or `reduce`.
699
- Enabled: false
700
- Style/ElseAlignment:
701
- Description: Align elses and elsifs correctly.
702
- Enabled: true
703
- Style/EmptyElse:
704
- Description: Avoid empty else-clauses.
705
- Enabled: true
706
- Style/EmptyLines:
707
- Description: Don't use several empty lines in a row.
708
- Enabled: true
709
- Style/EmptyLinesAroundAccessModifier:
710
- Description: Keep blank lines around access modifiers.
711
- Enabled: true
712
- Style/EmptyLinesAroundMethodBody:
713
- Description: Keeps track of empty lines around method bodies.
714
- Enabled: true
715
- Style/EmptyLiteral:
716
- Description: Prefer literals to Array.new/Hash.new/String.new.
717
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash
718
- Enabled: false
719
- Style/EndBlock:
720
- Description: Avoid the use of END blocks.
721
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-END-blocks
722
- Enabled: true
723
- Style/EndOfLine:
724
- Description: Use Unix-style line endings.
725
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#crlf
726
- Enabled: true
727
- Style/EvenOdd:
728
- Description: Favor the use of Fixnum#even? && Fixnum#odd?
729
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
730
- Enabled: false
731
- Style/FlipFlop:
732
- Description: Checks for flip flops
733
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
734
- Enabled: false
735
- Style/IfWithSemicolon:
736
- Description: Do not use if x; .... Use the ternary operator instead.
737
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs
738
- Enabled: false
739
- Style/IndentationConsistency:
740
- Description: Keep indentation straight.
741
- Enabled: true
742
- Style/IndentArray:
743
- Description: Checks the indentation of the first element in an array literal.
744
- Enabled: true
745
- Style/InfiniteLoop:
746
- Description: Use Kernel#loop for infinite loops.
747
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#infinite-loop
748
- Enabled: true
749
- Style/Lambda:
750
- Description: Use the new lambda literal syntax for single-line blocks.
751
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#lambda-multi-line
752
- Enabled: false
753
- Style/LeadingCommentSpace:
754
- Description: Comments should start with a space.
755
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-space
756
- Enabled: true
757
- Style/LineEndConcatenation:
758
- Description: Use \ instead of + or << to concatenate two string literals at line
759
- end.
760
- Enabled: false
761
- Style/MethodCallParentheses:
762
- Description: Do not use parentheses for method calls with no arguments.
763
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-args-no-parens
764
- Enabled: true
765
- Style/ModuleFunction:
766
- Description: Checks for usage of `extend self` in modules.
767
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function
768
- Enabled: false
769
- Style/MultilineBlockChain:
770
- Description: Avoid multi-line chains of blocks.
771
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
772
- Enabled: true
773
- Style/MultilineBlockLayout:
774
- Description: Ensures newlines after multiline block do statements.
775
- Enabled: true
776
- Style/MultilineIfThen:
777
- Description: Do not use then for multi-line if/unless.
778
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-then
779
- Enabled: true
780
- Style/MultilineTernaryOperator:
781
- Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.'
782
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary
783
- Enabled: true
784
- Style/NegatedIf:
785
- Description: Favor unless over if for negative conditions (or control flow or).
786
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#unless-for-negatives
787
- Enabled: false
788
- Style/NegatedWhile:
789
- Description: Favor until over while for negative conditions.
790
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#until-for-negatives
791
- Enabled: false
792
- Style/NestedTernaryOperator:
793
- Description: Use one expression per branch in a ternary operator.
794
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-ternary
795
- Enabled: true
796
- Style/NilComparison:
797
- Description: Prefer x.nil? to x == nil.
798
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
799
- Enabled: false
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
- Style/OneLineConditional:
805
- Description: Favor the ternary operator(?:) over if/then/else/end constructs.
806
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator
807
- Enabled: false
808
- Style/OpMethod:
809
- Description: When defining binary operators, name the argument other.
810
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg
811
- Enabled: false
812
- Style/PerlBackrefs:
813
- Description: Avoid Perl-style regex back references.
814
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers
815
- Enabled: false
816
- Style/Proc:
817
- Description: Use proc instead of Proc.new.
818
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc
819
- Enabled: false
820
- Style/RedundantBegin:
821
- Description: Don't use begin blocks when they are not needed.
822
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#begin-implicit
823
- Enabled: true
824
- Style/RedundantException:
825
- Description: Checks for an obsolete RuntimeException argument in raise/fail.
826
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror
827
- Enabled: true
828
- Style/RedundantSelf:
829
- Description: Don't use self where it's not needed.
830
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-self-unless-required
831
- Enabled: true
832
- Style/RescueModifier:
833
- Description: Avoid using rescue in its modifier form.
834
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers
835
- Enabled: true
836
- Style/SelfAssignment:
837
- Description: Checks for places where self-assignment shorthand should have been
838
- used.
839
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#self-assignment
840
- Enabled: false
841
- Style/SingleSpaceBeforeFirstArg:
842
- Description: Checks that exactly one space is used between a method name and the
843
- first argument for method calls without parentheses.
844
- Enabled: true
845
- Style/SpaceAfterColon:
846
- Description: Use spaces after colons.
847
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
848
- Enabled: true
849
- Style/SpaceAfterComma:
850
- Description: Use spaces after commas.
851
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
852
- Enabled: true
853
- Style/SpaceAfterControlKeyword:
854
- Description: Use spaces after if/elsif/unless/while/until/case/when.
855
- Enabled: true
856
- Style/SpaceAfterMethodName:
857
- Description: Do not put a space between a method name and the opening parenthesis
858
- in a method definition.
859
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
860
- Enabled: true
861
- Style/SpaceAfterNot:
862
- Description: Tracks redundant space after the ! operator.
863
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-bang
864
- Enabled: true
865
- Style/SpaceAfterSemicolon:
866
- Description: Use spaces after semicolons.
867
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
868
- Enabled: true
869
- Style/SpaceBeforeComma:
870
- Description: No spaces before commas.
871
- Enabled: true
872
- Style/SpaceBeforeComment:
873
- Description: Checks for missing space between code and a comment on the same line.
874
- Enabled: true
875
- Style/SpaceBeforeSemicolon:
876
- Description: No spaces before semicolons.
877
- Enabled: true
878
- Style/SpaceAroundOperators:
879
- Description: Use spaces around operators.
880
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators
881
- Enabled: true
882
- Style/SpaceBeforeModifierKeyword:
883
- Description: Put a space before the modifier keyword.
884
- Enabled: true
885
- Style/SpaceInsideBrackets:
886
- Description: No spaces after [ or before ].
887
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces
888
- Enabled: true
889
- Style/SpaceInsideParens:
890
- Description: No spaces after ( or before ).
891
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces
892
- Enabled: true
893
- Style/SpaceInsideRangeLiteral:
894
- Description: No spaces inside range literals.
895
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals
896
- Enabled: true
897
- Style/SpecialGlobalVars:
898
- Description: Avoid Perl-style global variables.
899
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms
900
- Enabled: false
901
- Style/StructInheritance:
902
- Description: Checks for inheritance from Struct.new.
903
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new
904
- Enabled: true
905
- Style/Tab:
906
- Description: No hard tabs.
907
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
908
- Enabled: true
909
- Style/TrailingWhitespace:
910
- Description: Avoid trailing whitespace.
911
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace
912
- Enabled: true
913
- Style/UnlessElse:
914
- Description: Do not use unless with else. Rewrite these with the positive case first.
915
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless
916
- Enabled: true
917
- Style/UnneededCapitalW:
918
- Description: Checks for %W when interpolation is not needed.
919
- Enabled: true
920
- Style/UnneededPercentQ:
921
- Description: Checks for %q/%Q when single quotes or double quotes would do.
922
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q
923
- Enabled: true
924
- Style/UnneededPercentX:
925
- Description: Checks for %x when `` would do.
926
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-x
927
- Enabled: true
928
- Style/VariableInterpolation:
929
- Description: Don't interpolate global, instance and class variables directly in
930
- strings.
931
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
932
- Enabled: false
933
- Style/WhenThen:
934
- Description: Use when x then ... for one-line cases.
935
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
936
- Enabled: false
937
- Style/WhileUntilDo:
938
- Description: Checks for redundant do after while or until.
939
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do
940
- Enabled: true
941
- Lint/AmbiguousOperator:
942
- Description: Checks for ambiguous operators in the first argument of a method invocation
943
- without parentheses.
944
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args
945
- Enabled: false
946
- Lint/AmbiguousRegexpLiteral:
947
- Description: Checks for ambiguous regexp literals in the first argument of a method
948
- invocation without parenthesis.
949
- Enabled: false
950
- Lint/BlockAlignment:
951
- Description: Align block ends correctly.
952
- Enabled: true
953
- Lint/ConditionPosition:
954
- Description: Checks for condition placed in a confusing position relative to the
955
- keyword.
956
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
957
- Enabled: false
958
- Lint/Debugger:
959
- Description: Check for debugger calls.
960
- Enabled: true
961
- Lint/DeprecatedClassMethods:
962
- Description: Check for deprecated class method calls.
963
- Enabled: false
964
- Lint/DuplicateMethods:
965
- Description: Check for duplicate methods calls.
966
- Enabled: true
967
- Lint/ElseLayout:
968
- Description: Check for odd code arrangement in an else block.
969
- Enabled: false
970
- Lint/EmptyEnsure:
971
- Description: Checks for empty ensure block.
972
- Enabled: true
973
- Lint/EmptyInterpolation:
974
- Description: Checks for empty string interpolation.
975
- Enabled: true
976
- Lint/EndInMethod:
977
- Description: END blocks should not be placed inside method definitions.
978
- Enabled: true
979
- Lint/EnsureReturn:
980
- Description: Do not use return in an ensure block.
981
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
982
- Enabled: true
983
- Lint/Eval:
984
- Description: The use of eval represents a serious security risk.
985
- Enabled: true
986
- Lint/HandleExceptions:
987
- Description: Don't suppress exception.
988
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
989
- Enabled: false
990
- Lint/InvalidCharacterLiteral:
991
- Description: Checks for invalid character literals with a non-escaped whitespace
992
- character.
993
- Enabled: false
994
- Lint/LiteralInCondition:
995
- Description: Checks of literals used in conditions.
996
- Enabled: false
997
- Lint/LiteralInInterpolation:
998
- Description: Checks for literals used in interpolation.
999
- Enabled: false
1000
- Lint/Loop:
1001
- Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
1002
- for post-loop tests.
1003
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
1004
- Enabled: false
1005
- Lint/ParenthesesAsGroupedExpression:
1006
- Description: Checks for method calls with a space before the opening parenthesis.
1007
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
1008
- Enabled: false
1009
- Lint/RequireParentheses:
1010
- Description: Use parentheses in the method call to avoid confusion about precedence.
1011
- Enabled: false
1012
- Lint/RescueException:
1013
- Description: Avoid rescuing the Exception class.
1014
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-blind-rescues
1015
- Enabled: true
1016
- Lint/ShadowingOuterLocalVariable:
1017
- Description: Do not use the same name as outer local variable for block arguments
1018
- or block local variables.
1019
- Enabled: true
1020
- Lint/SpaceBeforeFirstArg:
1021
- Description: Put a space between a method name and the first argument in a method
1022
- call without parentheses.
1023
- Enabled: true
1024
- Lint/StringConversionInInterpolation:
1025
- Description: Checks for Object#to_s usage in string interpolation.
1026
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s
1027
- Enabled: true
1028
- Lint/UnderscorePrefixedVariableName:
1029
- Description: Do not use prefix `_` for a variable that is used.
1030
- Enabled: false
1031
- Lint/UnusedBlockArgument:
1032
- Description: Checks for unused block arguments.
1033
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1034
- Enabled: true
1035
- Lint/UnusedMethodArgument:
1036
- Description: Checks for unused method arguments.
1037
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1038
- Enabled: true
1039
- Lint/UnreachableCode:
1040
- Description: Unreachable code.
1041
- Enabled: true
1042
- Lint/UselessAccessModifier:
1043
- Description: Checks for useless access modifiers.
1044
- Enabled: true
1045
- Lint/UselessAssignment:
1046
- Description: Checks for useless assignment to a local variable.
1047
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
1048
- Enabled: true
1049
- Lint/UselessComparison:
1050
- Description: Checks for comparison of something with itself.
1051
- Enabled: true
1052
- Lint/UselessElseWithoutRescue:
1053
- Description: Checks for useless `else` in `begin..end` without `rescue`.
1054
- Enabled: true
1055
- Lint/UselessSetterCall:
1056
- Description: Checks for useless setter call to a local variable.
1057
- Enabled: true
1058
- Lint/Void:
1059
- Description: Possible use of operator/literal/variable in void context.
1060
- Enabled: false
1061
- Rails/Delegate:
1062
- Description: Prefer delegate method for delegations.
1063
- Enabled: false
861
+ - app/models/**/*.rb