kt-paperclip 6.2.0

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