rubocop 0.51.0 → 0.87.0

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 (702) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +1 -1
  3. data/README.md +53 -42
  4. data/assets/output.html.erb +1 -1
  5. data/bin/console +10 -0
  6. data/bin/setup +7 -0
  7. data/config/default.yml +3137 -552
  8. data/lib/rubocop/ast_aliases.rb +8 -0
  9. data/lib/rubocop/cached_data.rb +2 -2
  10. data/lib/rubocop/cli/command/auto_genenerate_config.rb +140 -0
  11. data/lib/rubocop/cli/command/base.rb +33 -0
  12. data/lib/rubocop/cli/command/execute_runner.rb +76 -0
  13. data/lib/rubocop/cli/command/init_dotfile.rb +45 -0
  14. data/lib/rubocop/cli/command/show_cops.rb +76 -0
  15. data/lib/rubocop/cli/command/version.rb +17 -0
  16. data/lib/rubocop/cli/command.rb +21 -0
  17. data/lib/rubocop/cli/environment.rb +21 -0
  18. data/lib/rubocop/cli.rb +58 -131
  19. data/lib/rubocop/comment_config.rb +65 -14
  20. data/lib/rubocop/config.rb +106 -342
  21. data/lib/rubocop/config_loader.rb +122 -153
  22. data/lib/rubocop/config_loader_resolver.rb +198 -8
  23. data/lib/rubocop/config_obsoletion.rb +277 -0
  24. data/lib/rubocop/config_store.rb +12 -2
  25. data/lib/rubocop/config_validator.rb +223 -0
  26. data/lib/rubocop/cop/autocorrect_logic.rb +73 -4
  27. data/lib/rubocop/cop/badge.rb +6 -6
  28. data/lib/rubocop/cop/base.rb +399 -0
  29. data/lib/rubocop/cop/bundler/duplicated_gem.rb +12 -10
  30. data/lib/rubocop/cop/bundler/gem_comment.rb +133 -0
  31. data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +21 -28
  32. data/lib/rubocop/cop/bundler/ordered_gems.rb +16 -5
  33. data/lib/rubocop/cop/commissioner.rb +68 -67
  34. data/lib/rubocop/cop/cop.rb +101 -208
  35. data/lib/rubocop/cop/corrector.rb +82 -98
  36. data/lib/rubocop/cop/correctors/alignment_corrector.rb +142 -0
  37. data/lib/rubocop/cop/correctors/condition_corrector.rb +27 -0
  38. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +53 -0
  39. data/lib/rubocop/cop/correctors/empty_line_corrector.rb +26 -0
  40. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +73 -0
  41. data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +136 -0
  42. data/lib/rubocop/cop/correctors/line_break_corrector.rb +61 -0
  43. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +68 -0
  44. data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +44 -0
  45. data/lib/rubocop/cop/correctors/parentheses_corrector.rb +31 -0
  46. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +117 -0
  47. data/lib/rubocop/cop/correctors/punctuation_corrector.rb +29 -0
  48. data/lib/rubocop/cop/correctors/space_corrector.rb +46 -0
  49. data/lib/rubocop/cop/correctors/string_literal_corrector.rb +25 -0
  50. data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +43 -0
  51. data/lib/rubocop/cop/force.rb +1 -0
  52. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +104 -0
  53. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +16 -8
  54. data/lib/rubocop/cop/gemspec/required_ruby_version.rb +85 -0
  55. data/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +55 -0
  56. data/lib/rubocop/cop/generator/configuration_injector.rb +66 -0
  57. data/lib/rubocop/cop/generator/require_file_injector.rb +78 -0
  58. data/lib/rubocop/cop/generator.rb +81 -99
  59. data/lib/rubocop/cop/ignored_node.rb +1 -3
  60. data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +59 -0
  61. data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +44 -0
  62. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +13 -16
  63. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +11 -10
  64. data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +7 -18
  65. data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +6 -4
  66. data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +3 -3
  67. data/lib/rubocop/cop/internal_affairs.rb +2 -1
  68. data/lib/rubocop/cop/layout/access_modifier_indentation.rb +22 -33
  69. data/lib/rubocop/cop/layout/{align_parameters.rb → argument_alignment.rb} +26 -24
  70. data/lib/rubocop/cop/layout/array_alignment.rb +82 -0
  71. data/lib/rubocop/cop/layout/{indent_assignment.rb → assignment_indentation.rb} +18 -5
  72. data/lib/rubocop/cop/{lint → layout}/block_alignment.rb +38 -32
  73. data/lib/rubocop/cop/layout/block_end_newline.rb +16 -13
  74. data/lib/rubocop/cop/layout/case_indentation.rb +26 -29
  75. data/lib/rubocop/cop/layout/class_structure.rb +343 -0
  76. data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +126 -0
  77. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +145 -30
  78. data/lib/rubocop/cop/layout/comment_indentation.rb +76 -8
  79. data/lib/rubocop/cop/{lint → layout}/condition_position.rb +15 -5
  80. data/lib/rubocop/cop/{lint → layout}/def_end_alignment.rb +10 -14
  81. data/lib/rubocop/cop/layout/dot_position.rb +34 -22
  82. data/lib/rubocop/cop/layout/else_alignment.rb +37 -20
  83. data/lib/rubocop/cop/layout/empty_comment.rb +151 -0
  84. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +157 -0
  85. data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +6 -5
  86. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +30 -25
  87. data/lib/rubocop/cop/layout/empty_lines.rb +20 -4
  88. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +138 -33
  89. data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +99 -0
  90. data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +121 -0
  91. data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +8 -5
  92. data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +13 -11
  93. data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +60 -11
  94. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +13 -4
  95. data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +8 -4
  96. data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +29 -11
  97. data/lib/rubocop/cop/{lint → layout}/end_alignment.rb +53 -21
  98. data/lib/rubocop/cop/layout/end_of_line.rb +48 -8
  99. data/lib/rubocop/cop/layout/extra_spacing.rb +66 -102
  100. data/lib/rubocop/cop/layout/first_argument_indentation.rb +251 -0
  101. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +171 -0
  102. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +6 -2
  103. data/lib/rubocop/cop/layout/{indent_hash.rb → first_hash_element_indentation.rb} +83 -33
  104. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +5 -1
  105. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +8 -4
  106. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +5 -1
  107. data/lib/rubocop/cop/layout/first_parameter_indentation.rb +61 -73
  108. data/lib/rubocop/cop/layout/hash_alignment.rb +365 -0
  109. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +285 -0
  110. data/lib/rubocop/cop/layout/heredoc_indentation.rb +173 -0
  111. data/lib/rubocop/cop/layout/indentation_consistency.rb +160 -8
  112. data/lib/rubocop/cop/layout/indentation_style.rb +117 -0
  113. data/lib/rubocop/cop/layout/indentation_width.rb +100 -45
  114. data/lib/rubocop/cop/layout/initial_indentation.rb +24 -8
  115. data/lib/rubocop/cop/layout/leading_comment_space.rb +67 -6
  116. data/lib/rubocop/cop/layout/leading_empty_lines.rb +53 -0
  117. data/lib/rubocop/cop/layout/line_length.rb +280 -0
  118. data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +61 -24
  119. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +39 -0
  120. data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +21 -14
  121. data/lib/rubocop/cop/layout/multiline_block_layout.rb +63 -28
  122. data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +54 -21
  123. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +50 -0
  124. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +52 -0
  125. data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +70 -33
  126. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +20 -18
  127. data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +82 -33
  128. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +34 -6
  129. data/lib/rubocop/cop/layout/parameter_alignment.rb +118 -0
  130. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +125 -22
  131. data/lib/rubocop/cop/layout/space_after_colon.rb +6 -6
  132. data/lib/rubocop/cop/layout/space_after_comma.rb +7 -3
  133. data/lib/rubocop/cop/layout/space_after_method_name.rb +10 -7
  134. data/lib/rubocop/cop/layout/space_after_not.rb +4 -2
  135. data/lib/rubocop/cop/layout/space_after_semicolon.rb +12 -1
  136. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +74 -49
  137. data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +41 -17
  138. data/lib/rubocop/cop/layout/space_around_keyword.rb +36 -20
  139. data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +131 -0
  140. data/lib/rubocop/cop/layout/space_around_operators.rb +142 -46
  141. data/lib/rubocop/cop/layout/space_before_block_braces.rb +54 -11
  142. data/lib/rubocop/cop/layout/space_before_comma.rb +16 -1
  143. data/lib/rubocop/cop/layout/space_before_comment.rb +6 -7
  144. data/lib/rubocop/cop/layout/space_before_first_arg.rb +15 -4
  145. data/lib/rubocop/cop/layout/space_before_semicolon.rb +5 -1
  146. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +30 -39
  147. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +229 -0
  148. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +5 -5
  149. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +110 -19
  150. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +93 -46
  151. data/lib/rubocop/cop/layout/space_inside_parens.rb +92 -4
  152. data/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +3 -3
  153. data/lib/rubocop/cop/layout/space_inside_range_literal.rb +17 -17
  154. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +148 -0
  155. data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +37 -41
  156. data/lib/rubocop/cop/layout/{trailing_blank_lines.rb → trailing_empty_lines.rb} +54 -21
  157. data/lib/rubocop/cop/layout/trailing_whitespace.rb +51 -2
  158. data/lib/rubocop/cop/legacy/corrections_proxy.rb +49 -0
  159. data/lib/rubocop/cop/legacy/corrector.rb +29 -0
  160. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +16 -22
  161. data/lib/rubocop/cop/lint/ambiguous_operator.rb +42 -1
  162. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +15 -1
  163. data/lib/rubocop/cop/lint/assignment_in_condition.rb +29 -26
  164. data/lib/rubocop/cop/lint/big_decimal_new.rb +44 -0
  165. data/lib/rubocop/cop/lint/boolean_symbol.rb +14 -2
  166. data/lib/rubocop/cop/lint/circular_argument_reference.rb +2 -2
  167. data/lib/rubocop/cop/lint/constant_resolution.rb +89 -0
  168. data/lib/rubocop/cop/lint/debugger.rb +8 -10
  169. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +34 -13
  170. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +137 -0
  171. data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +81 -0
  172. data/lib/rubocop/cop/lint/duplicate_case_condition.rb +1 -1
  173. data/lib/rubocop/cop/lint/{duplicated_key.rb → duplicate_hash_key.rb} +2 -2
  174. data/lib/rubocop/cop/lint/duplicate_methods.rb +38 -25
  175. data/lib/rubocop/cop/lint/each_with_object_argument.rb +5 -2
  176. data/lib/rubocop/cop/lint/else_layout.rb +4 -3
  177. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
  178. data/lib/rubocop/cop/lint/empty_expression.rb +1 -1
  179. data/lib/rubocop/cop/lint/empty_interpolation.rb +5 -5
  180. data/lib/rubocop/cop/lint/empty_when.rb +30 -7
  181. data/lib/rubocop/cop/lint/ensure_return.rb +23 -3
  182. data/lib/rubocop/cop/lint/erb_new_arguments.rb +162 -0
  183. data/lib/rubocop/cop/lint/flip_flop.rb +32 -0
  184. data/lib/rubocop/cop/lint/float_out_of_range.rb +2 -2
  185. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +62 -44
  186. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +156 -0
  187. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +21 -15
  188. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +37 -59
  189. data/lib/rubocop/cop/lint/inherit_exception.rb +32 -16
  190. data/lib/rubocop/cop/lint/interpolation_check.rb +19 -3
  191. data/lib/rubocop/cop/lint/literal_as_condition.rb +16 -22
  192. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +33 -11
  193. data/lib/rubocop/cop/lint/loop.rb +8 -6
  194. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +84 -0
  195. data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +69 -0
  196. data/lib/rubocop/cop/lint/{multiple_compare.rb → multiple_comparison.rb} +4 -4
  197. data/lib/rubocop/cop/lint/nested_method_definition.rb +8 -7
  198. data/lib/rubocop/cop/lint/nested_percent_literal.rb +51 -0
  199. data/lib/rubocop/cop/lint/next_without_accumulator.rb +2 -2
  200. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +89 -0
  201. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +14 -16
  202. data/lib/rubocop/cop/lint/number_conversion.rb +81 -0
  203. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +86 -0
  204. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +45 -15
  205. data/lib/rubocop/cop/lint/percent_string_array.rb +18 -22
  206. data/lib/rubocop/cop/lint/percent_symbol_array.rb +18 -15
  207. data/lib/rubocop/cop/lint/raise_exception.rb +83 -0
  208. data/lib/rubocop/cop/lint/rand_one.rb +5 -5
  209. data/lib/rubocop/cop/lint/{unneeded_disable.rb → redundant_cop_disable_directive.rb} +87 -61
  210. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +119 -0
  211. data/lib/rubocop/cop/lint/{unneeded_require_statement.rb → redundant_require_statement.rb} +10 -10
  212. data/lib/rubocop/cop/lint/{unneeded_splat_expansion.rb → redundant_splat_expansion.rb} +58 -27
  213. data/lib/rubocop/cop/lint/{string_conversion_in_interpolation.rb → redundant_string_coercion.rb} +18 -17
  214. data/lib/rubocop/cop/lint/redundant_with_index.rb +13 -8
  215. data/lib/rubocop/cop/lint/redundant_with_object.rb +9 -7
  216. data/lib/rubocop/cop/lint/regexp_as_condition.rb +7 -1
  217. data/lib/rubocop/cop/lint/require_parentheses.rb +7 -2
  218. data/lib/rubocop/cop/lint/rescue_exception.rb +3 -2
  219. data/lib/rubocop/cop/lint/rescue_type.rb +10 -6
  220. data/lib/rubocop/cop/lint/return_in_void_context.rb +3 -3
  221. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +23 -28
  222. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +94 -0
  223. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +46 -0
  224. data/lib/rubocop/cop/lint/script_permission.rb +33 -11
  225. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +91 -0
  226. data/lib/rubocop/cop/lint/shadowed_argument.rb +182 -0
  227. data/lib/rubocop/cop/lint/shadowed_exception.rb +42 -23
  228. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +2 -2
  229. data/lib/rubocop/cop/lint/struct_new_override.rb +58 -0
  230. data/lib/rubocop/cop/lint/suppressed_exception.rb +92 -0
  231. data/lib/rubocop/cop/lint/syntax.rb +12 -28
  232. data/lib/rubocop/cop/lint/to_json.rb +41 -0
  233. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +26 -6
  234. data/lib/rubocop/cop/lint/unified_integer.rb +3 -3
  235. data/lib/rubocop/cop/lint/unreachable_code.rb +9 -7
  236. data/lib/rubocop/cop/lint/unused_block_argument.rb +26 -6
  237. data/lib/rubocop/cop/lint/unused_method_argument.rb +62 -12
  238. data/lib/rubocop/cop/lint/uri_escape_unescape.rb +17 -15
  239. data/lib/rubocop/cop/lint/uri_regexp.rb +7 -7
  240. data/lib/rubocop/cop/lint/useless_access_modifier.rb +96 -37
  241. data/lib/rubocop/cop/lint/useless_assignment.rb +8 -10
  242. data/lib/rubocop/cop/lint/useless_comparison.rb +1 -1
  243. data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +9 -1
  244. data/lib/rubocop/cop/lint/useless_setter_call.rb +14 -11
  245. data/lib/rubocop/cop/lint/void.rb +62 -30
  246. data/lib/rubocop/cop/message_annotator.rb +26 -13
  247. data/lib/rubocop/cop/metrics/abc_size.rb +4 -19
  248. data/lib/rubocop/cop/metrics/block_length.rb +42 -2
  249. data/lib/rubocop/cop/metrics/block_nesting.rb +2 -1
  250. data/lib/rubocop/cop/metrics/class_length.rb +37 -2
  251. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +37 -4
  252. data/lib/rubocop/cop/metrics/method_length.rb +29 -2
  253. data/lib/rubocop/cop/metrics/module_length.rb +37 -2
  254. data/lib/rubocop/cop/metrics/parameter_lists.rb +9 -2
  255. data/lib/rubocop/cop/metrics/perceived_complexity.rb +5 -5
  256. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +84 -0
  257. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +129 -0
  258. data/lib/rubocop/cop/metrics/utils/iterating_block.rb +61 -0
  259. data/lib/rubocop/cop/migration/department_name.rb +85 -0
  260. data/lib/rubocop/cop/mixin/alignment.rb +72 -0
  261. data/lib/rubocop/cop/mixin/allowed_methods.rb +19 -0
  262. data/lib/rubocop/cop/mixin/annotation_comment.rb +1 -0
  263. data/lib/rubocop/cop/mixin/array_min_size.rb +1 -3
  264. data/lib/rubocop/cop/mixin/array_syntax.rb +3 -1
  265. data/lib/rubocop/cop/mixin/auto_corrector.rb +12 -0
  266. data/lib/rubocop/cop/mixin/check_assignment.rb +13 -9
  267. data/lib/rubocop/cop/mixin/check_line_breakable.rb +184 -0
  268. data/lib/rubocop/cop/mixin/code_length.rb +11 -1
  269. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +8 -5
  270. data/lib/rubocop/cop/mixin/configurable_formatting.rb +4 -7
  271. data/lib/rubocop/cop/mixin/configurable_max.rb +6 -2
  272. data/lib/rubocop/cop/mixin/configurable_naming.rb +1 -1
  273. data/lib/rubocop/cop/mixin/def_node.rb +8 -2
  274. data/lib/rubocop/cop/mixin/documentation_comment.rb +13 -7
  275. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +34 -28
  276. data/lib/rubocop/cop/mixin/empty_parameter.rb +24 -0
  277. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +19 -32
  278. data/lib/rubocop/cop/mixin/enforce_superclass.rb +6 -10
  279. data/lib/rubocop/cop/mixin/first_element_line_break.rb +6 -10
  280. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +32 -7
  281. data/lib/rubocop/cop/mixin/{hash_alignment.rb → hash_alignment_styles.rb} +38 -7
  282. data/lib/rubocop/cop/mixin/hash_transform_method.rb +178 -0
  283. data/lib/rubocop/cop/mixin/heredoc.rb +22 -18
  284. data/lib/rubocop/cop/mixin/ignored_methods.rb +19 -0
  285. data/lib/rubocop/cop/mixin/ignored_pattern.rb +3 -1
  286. data/lib/rubocop/cop/mixin/integer_node.rb +3 -1
  287. data/lib/rubocop/cop/mixin/interpolation.rb +27 -0
  288. data/lib/rubocop/cop/mixin/line_length_help.rb +89 -0
  289. data/lib/rubocop/cop/mixin/match_range.rb +4 -0
  290. data/lib/rubocop/cop/mixin/method_complexity.rb +38 -8
  291. data/lib/rubocop/cop/mixin/method_preference.rb +2 -1
  292. data/lib/rubocop/cop/mixin/min_body_length.rb +3 -1
  293. data/lib/rubocop/cop/mixin/{array_hash_indentation.rb → multiline_element_indentation.rb} +5 -2
  294. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +33 -0
  295. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +50 -15
  296. data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +15 -50
  297. data/lib/rubocop/cop/mixin/negative_conditional.rb +5 -16
  298. data/lib/rubocop/cop/mixin/nil_methods.rb +23 -0
  299. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +30 -32
  300. data/lib/rubocop/cop/mixin/parentheses.rb +3 -9
  301. data/lib/rubocop/cop/mixin/parser_diagnostic.rb +1 -1
  302. data/lib/rubocop/cop/mixin/percent_array.rb +2 -2
  303. data/lib/rubocop/cop/mixin/percent_literal.rb +3 -65
  304. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +98 -6
  305. data/lib/rubocop/cop/mixin/preferred_delimiters.rb +53 -0
  306. data/lib/rubocop/cop/mixin/range_help.rb +117 -0
  307. data/lib/rubocop/cop/mixin/rational_literal.rb +18 -0
  308. data/lib/rubocop/cop/mixin/regexp_literal_help.rb +43 -0
  309. data/lib/rubocop/cop/mixin/rescue_node.rb +4 -3
  310. data/lib/rubocop/cop/mixin/safe_assignment.rb +4 -1
  311. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +13 -14
  312. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +16 -16
  313. data/lib/rubocop/cop/mixin/statement_modifier.rb +20 -33
  314. data/lib/rubocop/cop/mixin/string_help.rb +2 -0
  315. data/lib/rubocop/cop/mixin/string_literals_help.rb +4 -14
  316. data/lib/rubocop/cop/mixin/surrounding_space.rb +120 -9
  317. data/lib/rubocop/cop/mixin/target_ruby_version.rb +5 -1
  318. data/lib/rubocop/cop/mixin/too_many_lines.rb +5 -19
  319. data/lib/rubocop/cop/mixin/trailing_body.rb +26 -0
  320. data/lib/rubocop/cop/mixin/trailing_comma.rb +96 -45
  321. data/lib/rubocop/cop/mixin/uncommunicative_name.rb +113 -0
  322. data/lib/rubocop/cop/mixin/unused_argument.rb +3 -53
  323. data/lib/rubocop/cop/naming/accessor_method_name.rb +20 -10
  324. data/lib/rubocop/cop/naming/ascii_identifiers.rb +64 -5
  325. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +11 -9
  326. data/lib/rubocop/cop/naming/block_parameter_name.rb +49 -0
  327. data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +28 -14
  328. data/lib/rubocop/cop/naming/constant_name.rb +59 -6
  329. data/lib/rubocop/cop/naming/file_name.rb +72 -36
  330. data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +10 -16
  331. data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +8 -12
  332. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +171 -0
  333. data/lib/rubocop/cop/naming/method_name.rb +58 -13
  334. data/lib/rubocop/cop/naming/method_parameter_name.rb +58 -0
  335. data/lib/rubocop/cop/naming/predicate_name.rb +22 -13
  336. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +112 -0
  337. data/lib/rubocop/cop/naming/variable_name.rb +20 -3
  338. data/lib/rubocop/cop/naming/variable_number.rb +12 -29
  339. data/lib/rubocop/cop/offense.rb +55 -13
  340. data/lib/rubocop/cop/registry.rb +118 -14
  341. data/lib/rubocop/cop/security/eval.rb +3 -2
  342. data/lib/rubocop/cop/security/json_load.rb +7 -5
  343. data/lib/rubocop/cop/security/marshal_load.rb +5 -3
  344. data/lib/rubocop/cop/security/open.rb +71 -0
  345. data/lib/rubocop/cop/security/yaml_load.rb +2 -2
  346. data/lib/rubocop/cop/severity.rb +2 -3
  347. data/lib/rubocop/cop/style/access_modifier_declarations.rb +132 -0
  348. data/lib/rubocop/cop/style/accessor_grouping.rb +136 -0
  349. data/lib/rubocop/cop/style/alias.rb +41 -37
  350. data/lib/rubocop/cop/style/and_or.rb +44 -38
  351. data/lib/rubocop/cop/style/array_join.rb +12 -3
  352. data/lib/rubocop/cop/style/ascii_comments.rb +29 -6
  353. data/lib/rubocop/cop/style/attr.rb +26 -8
  354. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +14 -5
  355. data/lib/rubocop/cop/style/bare_percent_literals.rb +34 -13
  356. data/lib/rubocop/cop/style/begin_block.rb +7 -1
  357. data/lib/rubocop/cop/style/bisected_attr_accessor.rb +121 -0
  358. data/lib/rubocop/cop/style/block_comments.rb +27 -5
  359. data/lib/rubocop/cop/style/block_delimiters.rb +189 -30
  360. data/lib/rubocop/cop/style/case_equality.rb +37 -2
  361. data/lib/rubocop/cop/style/character_literal.rb +13 -3
  362. data/lib/rubocop/cop/style/class_and_module_children.rb +92 -10
  363. data/lib/rubocop/cop/style/class_check.rb +28 -9
  364. data/lib/rubocop/cop/style/class_methods.rb +20 -28
  365. data/lib/rubocop/cop/style/class_vars.rb +49 -3
  366. data/lib/rubocop/cop/style/collection_methods.rb +32 -2
  367. data/lib/rubocop/cop/style/colon_method_call.rb +19 -4
  368. data/lib/rubocop/cop/style/colon_method_definition.rb +37 -0
  369. data/lib/rubocop/cop/style/command_literal.rb +85 -28
  370. data/lib/rubocop/cop/style/comment_annotation.rb +51 -19
  371. data/lib/rubocop/cop/style/commented_keyword.rb +22 -30
  372. data/lib/rubocop/cop/style/conditional_assignment.rb +62 -92
  373. data/lib/rubocop/cop/style/constant_visibility.rb +77 -0
  374. data/lib/rubocop/cop/style/copyright.rb +39 -29
  375. data/lib/rubocop/cop/style/date_time.rb +44 -11
  376. data/lib/rubocop/cop/style/def_with_parentheses.rb +28 -3
  377. data/lib/rubocop/cop/style/dir.rb +7 -7
  378. data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +49 -0
  379. data/lib/rubocop/cop/style/documentation.rb +72 -16
  380. data/lib/rubocop/cop/style/documentation_method.rb +51 -2
  381. data/lib/rubocop/cop/style/double_cop_disable_directive.rb +55 -0
  382. data/lib/rubocop/cop/style/double_negation.rb +43 -6
  383. data/lib/rubocop/cop/style/each_for_simple_loop.rb +9 -9
  384. data/lib/rubocop/cop/style/each_with_object.rb +25 -11
  385. data/lib/rubocop/cop/style/empty_block_parameter.rb +48 -0
  386. data/lib/rubocop/cop/style/empty_case_condition.rb +30 -5
  387. data/lib/rubocop/cop/style/empty_else.rb +62 -26
  388. data/lib/rubocop/cop/style/empty_lambda_parameter.rb +45 -0
  389. data/lib/rubocop/cop/style/empty_literal.rb +32 -18
  390. data/lib/rubocop/cop/style/empty_method.rb +14 -21
  391. data/lib/rubocop/cop/style/encoding.rb +13 -5
  392. data/lib/rubocop/cop/style/end_block.rb +15 -1
  393. data/lib/rubocop/cop/style/eval_with_location.rb +148 -0
  394. data/lib/rubocop/cop/style/even_odd.rb +9 -7
  395. data/lib/rubocop/cop/style/expand_path_arguments.rb +194 -0
  396. data/lib/rubocop/cop/style/exponential_notation.rb +119 -0
  397. data/lib/rubocop/cop/style/float_division.rb +94 -0
  398. data/lib/rubocop/cop/style/for.rb +54 -19
  399. data/lib/rubocop/cop/style/format_string.rb +63 -32
  400. data/lib/rubocop/cop/style/format_string_token.rb +45 -67
  401. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +170 -32
  402. data/lib/rubocop/cop/style/global_vars.rb +14 -4
  403. data/lib/rubocop/cop/style/guard_clause.rb +66 -13
  404. data/lib/rubocop/cop/style/hash_each_methods.rb +89 -0
  405. data/lib/rubocop/cop/style/hash_syntax.rb +69 -61
  406. data/lib/rubocop/cop/style/hash_transform_keys.rb +83 -0
  407. data/lib/rubocop/cop/style/hash_transform_values.rb +80 -0
  408. data/lib/rubocop/cop/style/identical_conditional_branches.rb +17 -21
  409. data/lib/rubocop/cop/style/if_inside_else.rb +52 -10
  410. data/lib/rubocop/cop/style/if_unless_modifier.rb +132 -24
  411. data/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +14 -2
  412. data/lib/rubocop/cop/style/if_with_semicolon.rb +28 -2
  413. data/lib/rubocop/cop/style/implicit_runtime_error.rb +5 -5
  414. data/lib/rubocop/cop/style/infinite_loop.rb +51 -14
  415. data/lib/rubocop/cop/style/inline_comment.rb +5 -3
  416. data/lib/rubocop/cop/style/inverse_methods.rb +70 -22
  417. data/lib/rubocop/cop/style/ip_addresses.rb +76 -0
  418. data/lib/rubocop/cop/style/lambda.rb +25 -112
  419. data/lib/rubocop/cop/style/lambda_call.rb +13 -27
  420. data/lib/rubocop/cop/style/line_end_concatenation.rb +22 -16
  421. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +169 -0
  422. data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +52 -0
  423. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +134 -34
  424. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +12 -14
  425. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +5 -2
  426. data/lib/rubocop/cop/style/method_def_parentheses.rb +102 -13
  427. data/lib/rubocop/cop/style/method_missing_super.rb +34 -0
  428. data/lib/rubocop/cop/style/min_max.rb +14 -14
  429. data/lib/rubocop/cop/style/missing_else.rb +79 -12
  430. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +46 -0
  431. data/lib/rubocop/cop/style/mixin_grouping.rb +46 -33
  432. data/lib/rubocop/cop/style/mixin_usage.rb +32 -15
  433. data/lib/rubocop/cop/style/module_function.rb +102 -20
  434. data/lib/rubocop/cop/style/multiline_block_chain.rb +14 -3
  435. data/lib/rubocop/cop/style/multiline_if_modifier.rb +7 -7
  436. data/lib/rubocop/cop/style/multiline_if_then.rb +16 -14
  437. data/lib/rubocop/cop/style/multiline_memoization.rb +12 -17
  438. data/lib/rubocop/cop/style/multiline_method_signature.rb +61 -0
  439. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +31 -1
  440. data/lib/rubocop/cop/style/multiline_when_then.rb +74 -0
  441. data/lib/rubocop/cop/style/multiple_comparison.rb +19 -4
  442. data/lib/rubocop/cop/style/mutable_constant.rb +123 -15
  443. data/lib/rubocop/cop/style/negated_if.rb +26 -34
  444. data/lib/rubocop/cop/style/negated_unless.rb +89 -0
  445. data/lib/rubocop/cop/style/negated_while.rb +22 -6
  446. data/lib/rubocop/cop/style/nested_modifier.rb +28 -8
  447. data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +25 -24
  448. data/lib/rubocop/cop/style/nested_ternary_operator.rb +39 -1
  449. data/lib/rubocop/cop/style/next.rb +64 -35
  450. data/lib/rubocop/cop/style/nil_comparison.rb +51 -11
  451. data/lib/rubocop/cop/style/non_nil_check.rb +42 -27
  452. data/lib/rubocop/cop/style/not.rb +21 -8
  453. data/lib/rubocop/cop/style/numeric_literal_prefix.rb +46 -23
  454. data/lib/rubocop/cop/style/numeric_literals.rb +31 -18
  455. data/lib/rubocop/cop/style/numeric_predicate.rb +26 -32
  456. data/lib/rubocop/cop/style/one_line_conditional.rb +36 -18
  457. data/lib/rubocop/cop/style/option_hash.rb +22 -14
  458. data/lib/rubocop/cop/style/optional_arguments.rb +3 -6
  459. data/lib/rubocop/cop/style/or_assignment.rb +17 -9
  460. data/lib/rubocop/cop/style/parallel_assignment.rb +16 -16
  461. data/lib/rubocop/cop/style/parentheses_around_condition.rb +65 -5
  462. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +33 -6
  463. data/lib/rubocop/cop/style/percent_q_literals.rb +29 -8
  464. data/lib/rubocop/cop/style/perl_backrefs.rb +10 -3
  465. data/lib/rubocop/cop/style/preferred_hash_methods.rb +7 -10
  466. data/lib/rubocop/cop/style/proc.rb +12 -4
  467. data/lib/rubocop/cop/style/raise_args.rb +27 -21
  468. data/lib/rubocop/cop/style/random_with_offset.rb +152 -0
  469. data/lib/rubocop/cop/style/redundant_assignment.rb +117 -0
  470. data/lib/rubocop/cop/style/redundant_begin.rb +48 -5
  471. data/lib/rubocop/cop/style/{unneeded_capital_w.rb → redundant_capital_w.rb} +19 -9
  472. data/lib/rubocop/cop/style/redundant_condition.rb +124 -0
  473. data/lib/rubocop/cop/style/redundant_conditional.rb +17 -14
  474. data/lib/rubocop/cop/style/redundant_exception.rb +26 -17
  475. data/lib/rubocop/cop/style/redundant_fetch_block.rb +122 -0
  476. data/lib/rubocop/cop/style/redundant_freeze.rb +24 -2
  477. data/lib/rubocop/cop/style/{unneeded_interpolation.rb → redundant_interpolation.rb} +20 -24
  478. data/lib/rubocop/cop/style/redundant_parentheses.rb +59 -27
  479. data/lib/rubocop/cop/style/{unneeded_percent_q.rb → redundant_percent_q.rb} +40 -24
  480. data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +90 -0
  481. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +121 -0
  482. data/lib/rubocop/cop/style/redundant_return.rb +87 -51
  483. data/lib/rubocop/cop/style/redundant_self.rb +56 -41
  484. data/lib/rubocop/cop/style/redundant_sort.rb +165 -0
  485. data/lib/rubocop/cop/{performance → style}/redundant_sort_by.rb +9 -7
  486. data/lib/rubocop/cop/style/regexp_literal.rb +126 -20
  487. data/lib/rubocop/cop/style/rescue_modifier.rb +39 -3
  488. data/lib/rubocop/cop/style/rescue_standard_error.rb +124 -0
  489. data/lib/rubocop/cop/style/return_nil.rb +8 -12
  490. data/lib/rubocop/cop/style/safe_navigation.rb +123 -31
  491. data/lib/rubocop/cop/{performance → style}/sample.rb +17 -13
  492. data/lib/rubocop/cop/style/self_assignment.rb +14 -14
  493. data/lib/rubocop/cop/style/semicolon.rb +45 -14
  494. data/lib/rubocop/cop/style/send.rb +12 -2
  495. data/lib/rubocop/cop/style/signal_exception.rb +104 -3
  496. data/lib/rubocop/cop/style/single_line_block_params.rb +22 -2
  497. data/lib/rubocop/cop/style/single_line_methods.rb +41 -31
  498. data/lib/rubocop/cop/style/slicing_with_range.rb +39 -0
  499. data/lib/rubocop/cop/style/special_global_vars.rb +75 -24
  500. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +13 -21
  501. data/lib/rubocop/cop/style/stderr_puts.rb +14 -5
  502. data/lib/rubocop/cop/style/string_hash_keys.rb +50 -0
  503. data/lib/rubocop/cop/style/string_literals.rb +29 -3
  504. data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +7 -9
  505. data/lib/rubocop/cop/style/string_methods.rb +19 -7
  506. data/lib/rubocop/cop/{performance/lstrip_rstrip.rb → style/strip.rb} +10 -7
  507. data/lib/rubocop/cop/style/struct_inheritance.rb +36 -8
  508. data/lib/rubocop/cop/style/symbol_array.rb +51 -17
  509. data/lib/rubocop/cop/style/symbol_literal.rb +3 -3
  510. data/lib/rubocop/cop/style/symbol_proc.rb +32 -54
  511. data/lib/rubocop/cop/style/ternary_parentheses.rb +69 -53
  512. data/lib/rubocop/cop/style/trailing_body_on_class.rb +43 -0
  513. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +54 -0
  514. data/lib/rubocop/cop/style/trailing_body_on_module.rb +43 -0
  515. data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +69 -24
  516. data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +99 -0
  517. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +88 -0
  518. data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +100 -0
  519. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +91 -0
  520. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +19 -9
  521. data/lib/rubocop/cop/style/trivial_accessors.rb +51 -20
  522. data/lib/rubocop/cop/style/unless_else.rb +21 -5
  523. data/lib/rubocop/cop/style/unpack_first.rb +61 -0
  524. data/lib/rubocop/cop/style/variable_interpolation.rb +22 -21
  525. data/lib/rubocop/cop/style/when_then.rb +15 -2
  526. data/lib/rubocop/cop/style/while_until_do.rb +26 -4
  527. data/lib/rubocop/cop/style/while_until_modifier.rb +26 -7
  528. data/lib/rubocop/cop/style/word_array.rb +22 -18
  529. data/lib/rubocop/cop/style/yoda_condition.rb +96 -36
  530. data/lib/rubocop/cop/style/zero_length_predicate.rb +40 -20
  531. data/lib/rubocop/cop/team.rb +159 -91
  532. data/lib/rubocop/cop/util.rb +51 -209
  533. data/lib/rubocop/cop/utils/format_string.rb +137 -0
  534. data/lib/rubocop/cop/variable_force/assignment.rb +9 -2
  535. data/lib/rubocop/cop/variable_force/branch.rb +5 -3
  536. data/lib/rubocop/cop/variable_force/branchable.rb +2 -0
  537. data/lib/rubocop/cop/variable_force/scope.rb +8 -5
  538. data/lib/rubocop/cop/variable_force/variable.rb +21 -10
  539. data/lib/rubocop/cop/variable_force/variable_table.rb +4 -3
  540. data/lib/rubocop/cop/variable_force.rb +41 -36
  541. data/lib/rubocop/core_ext/string.rb +23 -0
  542. data/lib/rubocop/error.rb +23 -0
  543. data/lib/rubocop/ext/processed_source.rb +18 -0
  544. data/lib/rubocop/file_finder.rb +42 -0
  545. data/lib/rubocop/formatter/auto_gen_config_formatter.rb +16 -0
  546. data/lib/rubocop/formatter/base_formatter.rb +3 -7
  547. data/lib/rubocop/formatter/clang_style_formatter.rb +9 -6
  548. data/lib/rubocop/formatter/disabled_config_formatter.rb +84 -49
  549. data/lib/rubocop/formatter/emacs_style_formatter.rb +22 -9
  550. data/lib/rubocop/formatter/file_list_formatter.rb +2 -1
  551. data/lib/rubocop/formatter/formatter_set.rb +17 -16
  552. data/lib/rubocop/formatter/fuubar_style_formatter.rb +2 -2
  553. data/lib/rubocop/formatter/html_formatter.rb +13 -6
  554. data/lib/rubocop/formatter/json_formatter.rb +16 -9
  555. data/lib/rubocop/formatter/junit_formatter.rb +84 -0
  556. data/lib/rubocop/formatter/offense_count_formatter.rb +17 -0
  557. data/lib/rubocop/formatter/pacman_formatter.rb +80 -0
  558. data/lib/rubocop/formatter/progress_formatter.rb +1 -1
  559. data/lib/rubocop/formatter/quiet_formatter.rb +13 -0
  560. data/lib/rubocop/formatter/simple_text_formatter.rb +18 -5
  561. data/lib/rubocop/formatter/tap_formatter.rb +17 -6
  562. data/lib/rubocop/magic_comment.rb +15 -11
  563. data/lib/rubocop/name_similarity.rb +17 -10
  564. data/lib/rubocop/options.rb +267 -139
  565. data/lib/rubocop/path_util.rb +45 -7
  566. data/lib/rubocop/platform.rb +1 -1
  567. data/lib/rubocop/rake_task.rb +7 -9
  568. data/lib/rubocop/remote_config.rb +23 -9
  569. data/lib/rubocop/result_cache.rb +50 -23
  570. data/lib/rubocop/rspec/cop_helper.rb +10 -37
  571. data/lib/rubocop/rspec/expect_offense.rb +124 -12
  572. data/lib/rubocop/rspec/host_environment_simulation_helper.rb +1 -5
  573. data/lib/rubocop/rspec/shared_contexts.rb +78 -39
  574. data/lib/rubocop/rspec/support.rb +5 -1
  575. data/lib/rubocop/runner.rb +109 -59
  576. data/lib/rubocop/string_interpreter.rb +8 -8
  577. data/lib/rubocop/target_finder.rb +62 -68
  578. data/lib/rubocop/target_ruby.rb +154 -0
  579. data/lib/rubocop/version.rb +8 -4
  580. data/lib/rubocop/yaml_duplication_checker.rb +39 -0
  581. data/lib/rubocop.rb +188 -149
  582. metadata +257 -182
  583. data/config/disabled.yml +0 -118
  584. data/config/enabled.yml +0 -1892
  585. data/lib/rubocop/ast/builder.rb +0 -70
  586. data/lib/rubocop/ast/node/and_node.rb +0 -37
  587. data/lib/rubocop/ast/node/args_node.rb +0 -12
  588. data/lib/rubocop/ast/node/array_node.rb +0 -57
  589. data/lib/rubocop/ast/node/block_node.rb +0 -116
  590. data/lib/rubocop/ast/node/case_node.rb +0 -64
  591. data/lib/rubocop/ast/node/def_node.rb +0 -71
  592. data/lib/rubocop/ast/node/ensure_node.rb +0 -25
  593. data/lib/rubocop/ast/node/for_node.rb +0 -61
  594. data/lib/rubocop/ast/node/hash_node.rb +0 -109
  595. data/lib/rubocop/ast/node/if_node.rb +0 -146
  596. data/lib/rubocop/ast/node/keyword_splat_node.rb +0 -45
  597. data/lib/rubocop/ast/node/mixin/binary_operator_node.rb +0 -23
  598. data/lib/rubocop/ast/node/mixin/collection_node.rb +0 -15
  599. data/lib/rubocop/ast/node/mixin/conditional_node.rb +0 -45
  600. data/lib/rubocop/ast/node/mixin/hash_element_node.rb +0 -125
  601. data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +0 -174
  602. data/lib/rubocop/ast/node/mixin/method_identifier_predicates.rb +0 -89
  603. data/lib/rubocop/ast/node/mixin/modifier_node.rb +0 -17
  604. data/lib/rubocop/ast/node/mixin/parameterized_node.rb +0 -61
  605. data/lib/rubocop/ast/node/mixin/predicate_operator_node.rb +0 -35
  606. data/lib/rubocop/ast/node/or_node.rb +0 -37
  607. data/lib/rubocop/ast/node/pair_node.rb +0 -64
  608. data/lib/rubocop/ast/node/regexp_node.rb +0 -35
  609. data/lib/rubocop/ast/node/resbody_node.rb +0 -25
  610. data/lib/rubocop/ast/node/send_node.rb +0 -25
  611. data/lib/rubocop/ast/node/super_node.rb +0 -21
  612. data/lib/rubocop/ast/node/until_node.rb +0 -43
  613. data/lib/rubocop/ast/node/when_node.rb +0 -61
  614. data/lib/rubocop/ast/node/while_node.rb +0 -43
  615. data/lib/rubocop/ast/node/yield_node.rb +0 -21
  616. data/lib/rubocop/ast/node.rb +0 -604
  617. data/lib/rubocop/ast/sexp.rb +0 -16
  618. data/lib/rubocop/ast/traversal.rb +0 -171
  619. data/lib/rubocop/cop/internal_affairs/deprecated_positional_arguments.rb +0 -81
  620. data/lib/rubocop/cop/layout/align_array.rb +0 -35
  621. data/lib/rubocop/cop/layout/align_hash.rb +0 -235
  622. data/lib/rubocop/cop/layout/indent_array.rb +0 -114
  623. data/lib/rubocop/cop/layout/indent_heredoc.rb +0 -168
  624. data/lib/rubocop/cop/layout/space_inside_brackets.rb +0 -20
  625. data/lib/rubocop/cop/layout/tab.rb +0 -60
  626. data/lib/rubocop/cop/lint/end_in_method.rb +0 -40
  627. data/lib/rubocop/cop/lint/handle_exceptions.rb +0 -56
  628. data/lib/rubocop/cop/lint/rescue_without_error_class.rb +0 -41
  629. data/lib/rubocop/cop/metrics/line_length.rb +0 -171
  630. data/lib/rubocop/cop/mixin/autocorrect_alignment.rb +0 -149
  631. data/lib/rubocop/cop/mixin/classish_length.rb +0 -36
  632. data/lib/rubocop/cop/mixin/safe_mode.rb +0 -22
  633. data/lib/rubocop/cop/mixin/space_inside.rb +0 -76
  634. data/lib/rubocop/cop/mixin/target_rails_version.rb +0 -16
  635. data/lib/rubocop/cop/performance/caller.rb +0 -69
  636. data/lib/rubocop/cop/performance/case_when_splat.rb +0 -176
  637. data/lib/rubocop/cop/performance/casecmp.rb +0 -107
  638. data/lib/rubocop/cop/performance/compare_with_block.rb +0 -111
  639. data/lib/rubocop/cop/performance/count.rb +0 -100
  640. data/lib/rubocop/cop/performance/detect.rb +0 -107
  641. data/lib/rubocop/cop/performance/double_start_end_with.rb +0 -99
  642. data/lib/rubocop/cop/performance/end_with.rb +0 -55
  643. data/lib/rubocop/cop/performance/fixed_size.rb +0 -56
  644. data/lib/rubocop/cop/performance/flat_map.rb +0 -75
  645. data/lib/rubocop/cop/performance/hash_each_methods.rb +0 -128
  646. data/lib/rubocop/cop/performance/range_include.rb +0 -41
  647. data/lib/rubocop/cop/performance/redundant_block_call.rb +0 -93
  648. data/lib/rubocop/cop/performance/redundant_match.rb +0 -56
  649. data/lib/rubocop/cop/performance/redundant_merge.rb +0 -167
  650. data/lib/rubocop/cop/performance/regexp_match.rb +0 -223
  651. data/lib/rubocop/cop/performance/reverse_each.rb +0 -40
  652. data/lib/rubocop/cop/performance/size.rb +0 -71
  653. data/lib/rubocop/cop/performance/start_with.rb +0 -58
  654. data/lib/rubocop/cop/performance/string_replacement.rb +0 -170
  655. data/lib/rubocop/cop/performance/times_map.rb +0 -72
  656. data/lib/rubocop/cop/performance/unfreeze_string.rb +0 -50
  657. data/lib/rubocop/cop/performance/uri_default_parser.rb +0 -47
  658. data/lib/rubocop/cop/rails/action_filter.rb +0 -94
  659. data/lib/rubocop/cop/rails/active_support_aliases.rb +0 -67
  660. data/lib/rubocop/cop/rails/application_job.rb +0 -32
  661. data/lib/rubocop/cop/rails/application_record.rb +0 -32
  662. data/lib/rubocop/cop/rails/blank.rb +0 -141
  663. data/lib/rubocop/cop/rails/date.rb +0 -128
  664. data/lib/rubocop/cop/rails/delegate.rb +0 -135
  665. data/lib/rubocop/cop/rails/delegate_allow_blank.rb +0 -51
  666. data/lib/rubocop/cop/rails/dynamic_find_by.rb +0 -81
  667. data/lib/rubocop/cop/rails/enum_uniqueness.rb +0 -43
  668. data/lib/rubocop/cop/rails/exit.rb +0 -61
  669. data/lib/rubocop/cop/rails/file_path.rb +0 -72
  670. data/lib/rubocop/cop/rails/find_by.rb +0 -52
  671. data/lib/rubocop/cop/rails/find_each.rb +0 -47
  672. data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +0 -18
  673. data/lib/rubocop/cop/rails/has_many_or_has_one_dependent.rb +0 -72
  674. data/lib/rubocop/cop/rails/http_positional_arguments.rb +0 -107
  675. data/lib/rubocop/cop/rails/not_null_column.rb +0 -67
  676. data/lib/rubocop/cop/rails/output.rb +0 -23
  677. data/lib/rubocop/cop/rails/output_safety.rb +0 -99
  678. data/lib/rubocop/cop/rails/pluralization_grammar.rb +0 -106
  679. data/lib/rubocop/cop/rails/present.rb +0 -140
  680. data/lib/rubocop/cop/rails/read_write_attribute.rb +0 -65
  681. data/lib/rubocop/cop/rails/relative_date_constant.rb +0 -88
  682. data/lib/rubocop/cop/rails/request_referer.rb +0 -56
  683. data/lib/rubocop/cop/rails/reversible_migration.rb +0 -282
  684. data/lib/rubocop/cop/rails/safe_navigation.rb +0 -91
  685. data/lib/rubocop/cop/rails/save_bang.rb +0 -162
  686. data/lib/rubocop/cop/rails/scope_args.rb +0 -29
  687. data/lib/rubocop/cop/rails/skips_model_validations.rb +0 -70
  688. data/lib/rubocop/cop/rails/time_zone.rb +0 -198
  689. data/lib/rubocop/cop/rails/uniq_before_pluck.rb +0 -95
  690. data/lib/rubocop/cop/rails/unknown_env.rb +0 -63
  691. data/lib/rubocop/cop/rails/validation.rb +0 -64
  692. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +0 -141
  693. data/lib/rubocop/cop/style/flip_flop.rb +0 -20
  694. data/lib/rubocop/cop/style/method_missing.rb +0 -68
  695. data/lib/rubocop/cop/style/trailing_comma_in_literal.rb +0 -56
  696. data/lib/rubocop/formatter/disabled_lines_formatter.rb +0 -57
  697. data/lib/rubocop/node_pattern.rb +0 -561
  698. data/lib/rubocop/processed_source.rb +0 -147
  699. data/lib/rubocop/rspec/shared_examples.rb +0 -92
  700. data/lib/rubocop/string_util.rb +0 -158
  701. data/lib/rubocop/token.rb +0 -25
  702. /data/{bin → exe}/rubocop +0 -0
data/lib/rubocop.rb CHANGED
@@ -1,60 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'parser'
4
3
  require 'rainbow'
5
4
 
6
5
  require 'English'
7
6
  require 'set'
8
7
  require 'forwardable'
9
- require 'powerpack/array/butfirst'
10
- require 'powerpack/enumerable/drop_last'
11
- require 'powerpack/hash/symbolize_keys'
12
- require 'powerpack/string/blank'
13
- require 'powerpack/string/strip_indent'
14
- require 'unicode/display_width'
8
+ require 'regexp_parser'
9
+ require 'unicode/display_width/no_string_ext'
10
+ require 'rubocop-ast'
11
+ require_relative 'rubocop/ast_aliases'
15
12
 
16
13
  require_relative 'rubocop/version'
17
14
 
15
+ require_relative 'rubocop/core_ext/string'
16
+ require_relative 'rubocop/ext/processed_source'
17
+
18
18
  require_relative 'rubocop/path_util'
19
+ require_relative 'rubocop/file_finder'
19
20
  require_relative 'rubocop/platform'
20
- require_relative 'rubocop/string_util'
21
21
  require_relative 'rubocop/name_similarity'
22
- require_relative 'rubocop/node_pattern'
23
22
  require_relative 'rubocop/string_interpreter'
24
- require_relative 'rubocop/ast/sexp'
25
- require_relative 'rubocop/ast/node'
26
- require_relative 'rubocop/ast/node/mixin/method_identifier_predicates'
27
- require_relative 'rubocop/ast/node/mixin/binary_operator_node'
28
- require_relative 'rubocop/ast/node/mixin/collection_node'
29
- require_relative 'rubocop/ast/node/mixin/conditional_node'
30
- require_relative 'rubocop/ast/node/mixin/hash_element_node'
31
- require_relative 'rubocop/ast/node/mixin/method_dispatch_node'
32
- require_relative 'rubocop/ast/node/mixin/modifier_node'
33
- require_relative 'rubocop/ast/node/mixin/parameterized_node'
34
- require_relative 'rubocop/ast/node/mixin/predicate_operator_node'
35
- require_relative 'rubocop/ast/node/and_node'
36
- require_relative 'rubocop/ast/node/args_node'
37
- require_relative 'rubocop/ast/node/array_node'
38
- require_relative 'rubocop/ast/node/block_node'
39
- require_relative 'rubocop/ast/node/case_node'
40
- require_relative 'rubocop/ast/node/def_node'
41
- require_relative 'rubocop/ast/node/ensure_node'
42
- require_relative 'rubocop/ast/node/for_node'
43
- require_relative 'rubocop/ast/node/hash_node'
44
- require_relative 'rubocop/ast/node/if_node'
45
- require_relative 'rubocop/ast/node/keyword_splat_node'
46
- require_relative 'rubocop/ast/node/or_node'
47
- require_relative 'rubocop/ast/node/pair_node'
48
- require_relative 'rubocop/ast/node/regexp_node'
49
- require_relative 'rubocop/ast/node/resbody_node'
50
- require_relative 'rubocop/ast/node/send_node'
51
- require_relative 'rubocop/ast/node/super_node'
52
- require_relative 'rubocop/ast/node/until_node'
53
- require_relative 'rubocop/ast/node/when_node'
54
- require_relative 'rubocop/ast/node/while_node'
55
- require_relative 'rubocop/ast/node/yield_node'
56
- require_relative 'rubocop/ast/builder'
57
- require_relative 'rubocop/ast/traversal'
58
23
  require_relative 'rubocop/error'
59
24
  require_relative 'rubocop/warning'
60
25
 
@@ -65,12 +30,15 @@ require_relative 'rubocop/cop/ignored_node'
65
30
  require_relative 'rubocop/cop/autocorrect_logic'
66
31
  require_relative 'rubocop/cop/badge'
67
32
  require_relative 'rubocop/cop/registry'
33
+ require_relative 'rubocop/cop/base'
68
34
  require_relative 'rubocop/cop/cop'
69
35
  require_relative 'rubocop/cop/commissioner'
70
36
  require_relative 'rubocop/cop/corrector'
71
37
  require_relative 'rubocop/cop/force'
72
38
  require_relative 'rubocop/cop/severity'
73
39
  require_relative 'rubocop/cop/generator'
40
+ require_relative 'rubocop/cop/generator/configuration_injector'
41
+ require_relative 'rubocop/cop/generator/require_file_injector'
74
42
 
75
43
  require_relative 'rubocop/cop/variable_force'
76
44
  require_relative 'rubocop/cop/variable_force/branch'
@@ -82,14 +50,15 @@ require_relative 'rubocop/cop/variable_force/scope'
82
50
  require_relative 'rubocop/cop/variable_force/variable_table'
83
51
 
84
52
  require_relative 'rubocop/cop/mixin/annotation_comment'
85
- require_relative 'rubocop/cop/mixin/array_hash_indentation'
86
53
  require_relative 'rubocop/cop/mixin/array_min_size'
87
54
  require_relative 'rubocop/cop/mixin/array_syntax'
88
- require_relative 'rubocop/cop/mixin/autocorrect_alignment'
55
+ require_relative 'rubocop/cop/mixin/alignment'
56
+ require_relative 'rubocop/cop/mixin/allowed_methods'
57
+ require_relative 'rubocop/cop/mixin/auto_corrector'
89
58
  require_relative 'rubocop/cop/mixin/check_assignment'
59
+ require_relative 'rubocop/cop/mixin/check_line_breakable'
90
60
  require_relative 'rubocop/cop/mixin/configurable_max'
91
61
  require_relative 'rubocop/cop/mixin/code_length' # relies on configurable_max
92
- require_relative 'rubocop/cop/mixin/classish_length' # relies on code_length
93
62
  require_relative 'rubocop/cop/mixin/configurable_enforced_style'
94
63
  require_relative 'rubocop/cop/mixin/configurable_formatting'
95
64
  require_relative 'rubocop/cop/mixin/configurable_naming'
@@ -97,22 +66,31 @@ require_relative 'rubocop/cop/mixin/configurable_numbering'
97
66
  require_relative 'rubocop/cop/mixin/def_node'
98
67
  require_relative 'rubocop/cop/mixin/documentation_comment'
99
68
  require_relative 'rubocop/cop/mixin/duplication'
100
- require_relative 'rubocop/cop/mixin/empty_lines_around_body'
69
+ require_relative 'rubocop/cop/mixin/range_help'
70
+ require_relative 'rubocop/cop/mixin/empty_lines_around_body' # relies on range
71
+ require_relative 'rubocop/cop/mixin/empty_parameter'
101
72
  require_relative 'rubocop/cop/mixin/end_keyword_alignment'
102
73
  require_relative 'rubocop/cop/mixin/enforce_superclass'
103
74
  require_relative 'rubocop/cop/mixin/first_element_line_break'
104
75
  require_relative 'rubocop/cop/mixin/frozen_string_literal'
105
- require_relative 'rubocop/cop/mixin/hash_alignment'
76
+ require_relative 'rubocop/cop/mixin/hash_alignment_styles'
77
+ require_relative 'rubocop/cop/mixin/hash_transform_method'
106
78
  require_relative 'rubocop/cop/mixin/ignored_pattern'
79
+ require_relative 'rubocop/cop/mixin/ignored_methods'
107
80
  require_relative 'rubocop/cop/mixin/integer_node'
81
+ require_relative 'rubocop/cop/mixin/interpolation'
82
+ require_relative 'rubocop/cop/mixin/line_length_help'
108
83
  require_relative 'rubocop/cop/mixin/match_range'
109
84
  require_relative 'rubocop/cop/mixin/method_complexity'
110
85
  require_relative 'rubocop/cop/mixin/method_preference'
111
86
  require_relative 'rubocop/cop/mixin/min_body_length'
87
+ require_relative 'rubocop/cop/mixin/multiline_element_indentation'
88
+ require_relative 'rubocop/cop/mixin/multiline_element_line_breaks'
112
89
  require_relative 'rubocop/cop/mixin/multiline_expression_indentation'
113
90
  require_relative 'rubocop/cop/mixin/multiline_literal_brace_layout'
114
91
  require_relative 'rubocop/cop/mixin/negative_conditional'
115
92
  require_relative 'rubocop/cop/mixin/heredoc'
93
+ require_relative 'rubocop/cop/mixin/nil_methods'
116
94
  require_relative 'rubocop/cop/mixin/on_normal_if_unless'
117
95
  require_relative 'rubocop/cop/mixin/ordered_gem_node'
118
96
  require_relative 'rubocop/cop/mixin/parentheses'
@@ -120,71 +98,116 @@ require_relative 'rubocop/cop/mixin/parser_diagnostic'
120
98
  require_relative 'rubocop/cop/mixin/percent_array'
121
99
  require_relative 'rubocop/cop/mixin/percent_literal'
122
100
  require_relative 'rubocop/cop/mixin/preceding_following_alignment'
101
+ require_relative 'rubocop/cop/mixin/preferred_delimiters'
102
+ require_relative 'rubocop/cop/mixin/rational_literal'
103
+ require_relative 'rubocop/cop/mixin/regexp_literal_help'
123
104
  require_relative 'rubocop/cop/mixin/rescue_node'
124
105
  require_relative 'rubocop/cop/mixin/safe_assignment'
125
- require_relative 'rubocop/cop/mixin/safe_mode'
126
106
  require_relative 'rubocop/cop/mixin/space_after_punctuation'
127
107
  require_relative 'rubocop/cop/mixin/space_before_punctuation'
128
108
  require_relative 'rubocop/cop/mixin/surrounding_space'
129
- require_relative 'rubocop/cop/mixin/space_inside' # relies on surrounding_space
130
109
  require_relative 'rubocop/cop/mixin/statement_modifier'
131
110
  require_relative 'rubocop/cop/mixin/string_help'
132
111
  require_relative 'rubocop/cop/mixin/string_literals_help'
133
112
  require_relative 'rubocop/cop/mixin/target_ruby_version'
134
- require_relative 'rubocop/cop/mixin/target_rails_version'
135
113
  require_relative 'rubocop/cop/mixin/too_many_lines'
114
+ require_relative 'rubocop/cop/mixin/trailing_body'
136
115
  require_relative 'rubocop/cop/mixin/trailing_comma'
116
+ require_relative 'rubocop/cop/mixin/uncommunicative_name'
137
117
  require_relative 'rubocop/cop/mixin/unused_argument'
138
118
 
119
+ require_relative 'rubocop/cop/utils/format_string'
120
+
121
+ require_relative 'rubocop/cop/migration/department_name'
122
+
123
+ require_relative 'rubocop/cop/correctors/alignment_corrector'
124
+ require_relative 'rubocop/cop/correctors/condition_corrector'
125
+ require_relative 'rubocop/cop/correctors/each_to_for_corrector'
126
+ require_relative 'rubocop/cop/correctors/empty_line_corrector'
127
+ require_relative 'rubocop/cop/correctors/for_to_each_corrector'
128
+ require_relative 'rubocop/cop/correctors/lambda_literal_to_method_corrector'
129
+ require_relative 'rubocop/cop/correctors/line_break_corrector'
130
+ require_relative 'rubocop/cop/correctors/multiline_literal_brace_corrector'
131
+ require_relative 'rubocop/cop/correctors/ordered_gem_corrector'
132
+ require_relative 'rubocop/cop/correctors/parentheses_corrector'
133
+ require_relative 'rubocop/cop/correctors/percent_literal_corrector'
134
+ require_relative 'rubocop/cop/correctors/punctuation_corrector'
135
+ require_relative 'rubocop/cop/correctors/space_corrector'
136
+ require_relative 'rubocop/cop/correctors/string_literal_corrector'
137
+ require_relative 'rubocop/cop/correctors/unused_arg_corrector'
138
+
139
139
  require_relative 'rubocop/cop/bundler/duplicated_gem'
140
+ require_relative 'rubocop/cop/bundler/gem_comment'
140
141
  require_relative 'rubocop/cop/bundler/insecure_protocol_source'
141
142
  require_relative 'rubocop/cop/bundler/ordered_gems'
142
143
 
144
+ require_relative 'rubocop/cop/gemspec/duplicated_assignment'
143
145
  require_relative 'rubocop/cop/gemspec/ordered_dependencies'
146
+ require_relative 'rubocop/cop/gemspec/required_ruby_version'
147
+ require_relative 'rubocop/cop/gemspec/ruby_version_globals_usage'
144
148
 
145
149
  require_relative 'rubocop/cop/layout/access_modifier_indentation'
146
- require_relative 'rubocop/cop/layout/align_array'
147
- require_relative 'rubocop/cop/layout/align_hash'
148
- require_relative 'rubocop/cop/layout/align_parameters'
150
+ require_relative 'rubocop/cop/layout/argument_alignment'
151
+ require_relative 'rubocop/cop/layout/array_alignment'
152
+ require_relative 'rubocop/cop/layout/assignment_indentation'
153
+ require_relative 'rubocop/cop/layout/block_alignment'
149
154
  require_relative 'rubocop/cop/layout/block_end_newline'
150
155
  require_relative 'rubocop/cop/layout/case_indentation'
156
+ require_relative 'rubocop/cop/layout/class_structure'
157
+ require_relative 'rubocop/cop/layout/closing_heredoc_indentation'
151
158
  require_relative 'rubocop/cop/layout/closing_parenthesis_indentation'
152
159
  require_relative 'rubocop/cop/layout/comment_indentation'
160
+ require_relative 'rubocop/cop/layout/condition_position'
161
+ require_relative 'rubocop/cop/layout/def_end_alignment'
153
162
  require_relative 'rubocop/cop/layout/dot_position'
154
163
  require_relative 'rubocop/cop/layout/else_alignment'
164
+ require_relative 'rubocop/cop/layout/empty_comment'
165
+ require_relative 'rubocop/cop/layout/empty_line_after_guard_clause'
155
166
  require_relative 'rubocop/cop/layout/empty_line_after_magic_comment'
156
167
  require_relative 'rubocop/cop/layout/empty_line_between_defs'
157
168
  require_relative 'rubocop/cop/layout/empty_lines_around_access_modifier'
169
+ require_relative 'rubocop/cop/layout/empty_lines_around_arguments'
170
+ require_relative 'rubocop/cop/layout/empty_lines_around_attribute_accessor'
158
171
  require_relative 'rubocop/cop/layout/empty_lines_around_begin_body'
159
172
  require_relative 'rubocop/cop/layout/empty_lines_around_block_body'
160
173
  require_relative 'rubocop/cop/layout/empty_lines_around_class_body'
161
- require_relative 'rubocop/cop/layout/empty_lines_around_exception_handling_keywords' # rubocop:disable Metrics/LineLength
174
+ require_relative 'rubocop/cop/layout/empty_lines_around_exception_handling_keywords'
162
175
  require_relative 'rubocop/cop/layout/empty_lines_around_method_body'
163
176
  require_relative 'rubocop/cop/layout/empty_lines_around_module_body'
164
177
  require_relative 'rubocop/cop/layout/empty_lines'
178
+ require_relative 'rubocop/cop/layout/end_alignment'
165
179
  require_relative 'rubocop/cop/layout/end_of_line'
166
180
  require_relative 'rubocop/cop/layout/extra_spacing'
181
+ require_relative 'rubocop/cop/layout/first_argument_indentation'
182
+ require_relative 'rubocop/cop/layout/first_array_element_indentation'
167
183
  require_relative 'rubocop/cop/layout/first_array_element_line_break'
184
+ require_relative 'rubocop/cop/layout/first_hash_element_indentation'
168
185
  require_relative 'rubocop/cop/layout/first_hash_element_line_break'
169
186
  require_relative 'rubocop/cop/layout/first_method_argument_line_break'
170
187
  require_relative 'rubocop/cop/layout/first_method_parameter_line_break'
171
188
  require_relative 'rubocop/cop/layout/first_parameter_indentation'
172
- require_relative 'rubocop/cop/layout/indent_array'
173
- require_relative 'rubocop/cop/layout/indent_assignment'
189
+ require_relative 'rubocop/cop/layout/hash_alignment'
190
+ require_relative 'rubocop/cop/layout/heredoc_argument_closing_parenthesis'
191
+ require_relative 'rubocop/cop/layout/heredoc_indentation'
174
192
  require_relative 'rubocop/cop/layout/indentation_consistency'
193
+ require_relative 'rubocop/cop/layout/indentation_style'
175
194
  require_relative 'rubocop/cop/layout/indentation_width'
176
- require_relative 'rubocop/cop/layout/indent_hash'
177
- require_relative 'rubocop/cop/layout/indent_heredoc'
178
195
  require_relative 'rubocop/cop/layout/initial_indentation'
179
196
  require_relative 'rubocop/cop/layout/leading_comment_space'
197
+ require_relative 'rubocop/cop/layout/leading_empty_lines'
198
+ require_relative 'rubocop/cop/layout/line_length'
180
199
  require_relative 'rubocop/cop/layout/multiline_array_brace_layout'
200
+ require_relative 'rubocop/cop/layout/multiline_array_line_breaks'
181
201
  require_relative 'rubocop/cop/layout/multiline_assignment_layout'
182
202
  require_relative 'rubocop/cop/layout/multiline_block_layout'
183
203
  require_relative 'rubocop/cop/layout/multiline_hash_brace_layout'
204
+ require_relative 'rubocop/cop/layout/multiline_hash_key_line_breaks'
205
+ require_relative 'rubocop/cop/layout/multiline_method_argument_line_breaks'
184
206
  require_relative 'rubocop/cop/layout/multiline_method_call_brace_layout'
185
207
  require_relative 'rubocop/cop/layout/multiline_method_call_indentation'
186
208
  require_relative 'rubocop/cop/layout/multiline_method_definition_brace_layout'
187
209
  require_relative 'rubocop/cop/layout/multiline_operation_indentation'
210
+ require_relative 'rubocop/cop/layout/parameter_alignment'
188
211
  require_relative 'rubocop/cop/layout/rescue_ensure_alignment'
189
212
  require_relative 'rubocop/cop/layout/space_after_colon'
190
213
  require_relative 'rubocop/cop/layout/space_after_comma'
@@ -194,6 +217,7 @@ require_relative 'rubocop/cop/layout/space_after_semicolon'
194
217
  require_relative 'rubocop/cop/layout/space_around_block_parameters'
195
218
  require_relative 'rubocop/cop/layout/space_around_equals_in_parameter_default'
196
219
  require_relative 'rubocop/cop/layout/space_around_keyword'
220
+ require_relative 'rubocop/cop/layout/space_around_method_call_operator'
197
221
  require_relative 'rubocop/cop/layout/space_around_operators'
198
222
  require_relative 'rubocop/cop/layout/space_before_block_braces'
199
223
  require_relative 'rubocop/cop/layout/space_before_comma'
@@ -202,43 +226,44 @@ require_relative 'rubocop/cop/layout/space_before_first_arg'
202
226
  require_relative 'rubocop/cop/layout/space_before_semicolon'
203
227
  require_relative 'rubocop/cop/layout/space_in_lambda_literal'
204
228
  require_relative 'rubocop/cop/layout/space_inside_array_percent_literal'
229
+ require_relative 'rubocop/cop/layout/space_inside_array_literal_brackets'
205
230
  require_relative 'rubocop/cop/layout/space_inside_block_braces'
206
- require_relative 'rubocop/cop/layout/space_inside_brackets'
207
231
  require_relative 'rubocop/cop/layout/space_inside_hash_literal_braces'
208
232
  require_relative 'rubocop/cop/layout/space_inside_parens'
209
233
  require_relative 'rubocop/cop/layout/space_inside_percent_literal_delimiters'
210
234
  require_relative 'rubocop/cop/layout/space_inside_range_literal'
235
+ require_relative 'rubocop/cop/layout/space_inside_reference_brackets'
211
236
  require_relative 'rubocop/cop/layout/space_inside_string_interpolation'
212
- require_relative 'rubocop/cop/layout/tab'
213
- require_relative 'rubocop/cop/layout/trailing_blank_lines'
237
+ require_relative 'rubocop/cop/layout/trailing_empty_lines'
214
238
  require_relative 'rubocop/cop/layout/trailing_whitespace'
215
239
 
216
240
  require_relative 'rubocop/cop/lint/ambiguous_block_association'
217
241
  require_relative 'rubocop/cop/lint/ambiguous_operator'
218
242
  require_relative 'rubocop/cop/lint/ambiguous_regexp_literal'
219
243
  require_relative 'rubocop/cop/lint/assignment_in_condition'
220
- require_relative 'rubocop/cop/lint/block_alignment'
244
+ require_relative 'rubocop/cop/lint/big_decimal_new'
221
245
  require_relative 'rubocop/cop/lint/boolean_symbol'
222
246
  require_relative 'rubocop/cop/lint/circular_argument_reference'
223
- require_relative 'rubocop/cop/lint/condition_position'
247
+ require_relative 'rubocop/cop/lint/constant_resolution'
224
248
  require_relative 'rubocop/cop/lint/debugger'
225
- require_relative 'rubocop/cop/lint/def_end_alignment'
226
249
  require_relative 'rubocop/cop/lint/deprecated_class_methods'
250
+ require_relative 'rubocop/cop/lint/deprecated_open_ssl_constant'
251
+ require_relative 'rubocop/cop/lint/disjunctive_assignment_in_constructor'
227
252
  require_relative 'rubocop/cop/lint/duplicate_case_condition'
253
+ require_relative 'rubocop/cop/lint/duplicate_hash_key'
228
254
  require_relative 'rubocop/cop/lint/duplicate_methods'
229
- require_relative 'rubocop/cop/lint/duplicated_key'
230
255
  require_relative 'rubocop/cop/lint/each_with_object_argument'
231
256
  require_relative 'rubocop/cop/lint/else_layout'
232
257
  require_relative 'rubocop/cop/lint/empty_ensure'
233
258
  require_relative 'rubocop/cop/lint/empty_expression'
234
259
  require_relative 'rubocop/cop/lint/empty_interpolation'
235
260
  require_relative 'rubocop/cop/lint/empty_when'
236
- require_relative 'rubocop/cop/lint/end_alignment'
237
- require_relative 'rubocop/cop/lint/end_in_method'
238
261
  require_relative 'rubocop/cop/lint/ensure_return'
262
+ require_relative 'rubocop/cop/lint/erb_new_arguments'
263
+ require_relative 'rubocop/cop/lint/flip_flop'
239
264
  require_relative 'rubocop/cop/lint/float_out_of_range'
240
265
  require_relative 'rubocop/cop/lint/format_parameter_mismatch'
241
- require_relative 'rubocop/cop/lint/handle_exceptions'
266
+ require_relative 'rubocop/cop/lint/heredoc_method_call_position'
242
267
  require_relative 'rubocop/cop/lint/implicit_string_concatenation'
243
268
  require_relative 'rubocop/cop/lint/inherit_exception'
244
269
  require_relative 'rubocop/cop/lint/ineffective_access_modifier'
@@ -246,33 +271,47 @@ require_relative 'rubocop/cop/lint/interpolation_check'
246
271
  require_relative 'rubocop/cop/lint/literal_as_condition'
247
272
  require_relative 'rubocop/cop/lint/literal_in_interpolation'
248
273
  require_relative 'rubocop/cop/lint/loop'
249
- require_relative 'rubocop/cop/lint/multiple_compare'
274
+ require_relative 'rubocop/cop/lint/missing_cop_enable_directive'
275
+ require_relative 'rubocop/cop/lint/mixed_regexp_capture_types'
276
+ require_relative 'rubocop/cop/lint/multiple_comparison'
250
277
  require_relative 'rubocop/cop/lint/nested_method_definition'
278
+ require_relative 'rubocop/cop/lint/nested_percent_literal'
251
279
  require_relative 'rubocop/cop/lint/next_without_accumulator'
280
+ require_relative 'rubocop/cop/lint/non_deterministic_require_order'
252
281
  require_relative 'rubocop/cop/lint/non_local_exit_from_iterator'
282
+ require_relative 'rubocop/cop/lint/number_conversion'
283
+ require_relative 'rubocop/cop/lint/ordered_magic_comments'
253
284
  require_relative 'rubocop/cop/lint/parentheses_as_grouped_expression'
254
285
  require_relative 'rubocop/cop/lint/percent_string_array'
255
286
  require_relative 'rubocop/cop/lint/percent_symbol_array'
287
+ require_relative 'rubocop/cop/lint/raise_exception'
256
288
  require_relative 'rubocop/cop/lint/rand_one'
289
+ require_relative 'rubocop/cop/lint/redundant_cop_disable_directive'
290
+ require_relative 'rubocop/cop/lint/redundant_cop_enable_directive'
291
+ require_relative 'rubocop/cop/lint/redundant_require_statement'
292
+ require_relative 'rubocop/cop/lint/redundant_splat_expansion'
293
+ require_relative 'rubocop/cop/lint/redundant_string_coercion'
257
294
  require_relative 'rubocop/cop/lint/redundant_with_index'
258
295
  require_relative 'rubocop/cop/lint/redundant_with_object'
259
296
  require_relative 'rubocop/cop/lint/regexp_as_condition'
260
297
  require_relative 'rubocop/cop/lint/require_parentheses'
261
298
  require_relative 'rubocop/cop/lint/rescue_exception'
262
299
  require_relative 'rubocop/cop/lint/rescue_type'
263
- require_relative 'rubocop/cop/lint/rescue_without_error_class'
264
300
  require_relative 'rubocop/cop/lint/return_in_void_context'
301
+ require_relative 'rubocop/cop/lint/safe_navigation_consistency'
265
302
  require_relative 'rubocop/cop/lint/safe_navigation_chain'
303
+ require_relative 'rubocop/cop/lint/safe_navigation_with_empty'
266
304
  require_relative 'rubocop/cop/lint/script_permission'
305
+ require_relative 'rubocop/cop/lint/send_with_mixin_argument'
306
+ require_relative 'rubocop/cop/lint/shadowed_argument'
267
307
  require_relative 'rubocop/cop/lint/shadowed_exception'
268
308
  require_relative 'rubocop/cop/lint/shadowing_outer_local_variable'
269
- require_relative 'rubocop/cop/lint/string_conversion_in_interpolation'
309
+ require_relative 'rubocop/cop/lint/struct_new_override'
310
+ require_relative 'rubocop/cop/lint/suppressed_exception'
270
311
  require_relative 'rubocop/cop/lint/syntax'
312
+ require_relative 'rubocop/cop/lint/to_json'
271
313
  require_relative 'rubocop/cop/lint/underscore_prefixed_variable_name'
272
314
  require_relative 'rubocop/cop/lint/unified_integer'
273
- require_relative 'rubocop/cop/lint/unneeded_disable'
274
- require_relative 'rubocop/cop/lint/unneeded_require_statement'
275
- require_relative 'rubocop/cop/lint/unneeded_splat_expansion'
276
315
  require_relative 'rubocop/cop/lint/unreachable_code'
277
316
  require_relative 'rubocop/cop/lint/unused_block_argument'
278
317
  require_relative 'rubocop/cop/lint/unused_method_argument'
@@ -285,13 +324,15 @@ require_relative 'rubocop/cop/lint/useless_else_without_rescue'
285
324
  require_relative 'rubocop/cop/lint/useless_setter_call'
286
325
  require_relative 'rubocop/cop/lint/void'
287
326
 
327
+ require_relative 'rubocop/cop/metrics/utils/iterating_block'
288
328
  require_relative 'rubocop/cop/metrics/cyclomatic_complexity'
289
329
  # relies on cyclomatic_complexity
330
+ require_relative 'rubocop/cop/metrics/utils/abc_size_calculator'
331
+ require_relative 'rubocop/cop/metrics/utils/code_length_calculator'
290
332
  require_relative 'rubocop/cop/metrics/abc_size'
291
333
  require_relative 'rubocop/cop/metrics/block_length'
292
334
  require_relative 'rubocop/cop/metrics/block_nesting'
293
335
  require_relative 'rubocop/cop/metrics/class_length'
294
- require_relative 'rubocop/cop/metrics/line_length'
295
336
  require_relative 'rubocop/cop/metrics/method_length'
296
337
  require_relative 'rubocop/cop/metrics/module_length'
297
338
  require_relative 'rubocop/cop/metrics/parameter_lists'
@@ -299,44 +340,23 @@ require_relative 'rubocop/cop/metrics/perceived_complexity'
299
340
 
300
341
  require_relative 'rubocop/cop/naming/accessor_method_name'
301
342
  require_relative 'rubocop/cop/naming/ascii_identifiers'
343
+ require_relative 'rubocop/cop/naming/block_parameter_name'
302
344
  require_relative 'rubocop/cop/naming/class_and_module_camel_case'
303
345
  require_relative 'rubocop/cop/naming/constant_name'
304
346
  require_relative 'rubocop/cop/naming/file_name'
305
347
  require_relative 'rubocop/cop/naming/heredoc_delimiter_case'
306
348
  require_relative 'rubocop/cop/naming/heredoc_delimiter_naming'
349
+ require_relative 'rubocop/cop/naming/memoized_instance_variable_name'
307
350
  require_relative 'rubocop/cop/naming/method_name'
351
+ require_relative 'rubocop/cop/naming/method_parameter_name'
308
352
  require_relative 'rubocop/cop/naming/binary_operator_parameter_name'
309
353
  require_relative 'rubocop/cop/naming/predicate_name'
354
+ require_relative 'rubocop/cop/naming/rescued_exceptions_variable_name'
310
355
  require_relative 'rubocop/cop/naming/variable_name'
311
356
  require_relative 'rubocop/cop/naming/variable_number'
312
357
 
313
- require_relative 'rubocop/cop/performance/caller'
314
- require_relative 'rubocop/cop/performance/case_when_splat'
315
- require_relative 'rubocop/cop/performance/casecmp'
316
- require_relative 'rubocop/cop/performance/count'
317
- require_relative 'rubocop/cop/performance/detect'
318
- require_relative 'rubocop/cop/performance/double_start_end_with'
319
- require_relative 'rubocop/cop/performance/end_with'
320
- require_relative 'rubocop/cop/performance/fixed_size'
321
- require_relative 'rubocop/cop/performance/flat_map'
322
- require_relative 'rubocop/cop/performance/hash_each_methods'
323
- require_relative 'rubocop/cop/performance/lstrip_rstrip'
324
- require_relative 'rubocop/cop/performance/range_include'
325
- require_relative 'rubocop/cop/performance/redundant_block_call'
326
- require_relative 'rubocop/cop/performance/redundant_match'
327
- require_relative 'rubocop/cop/performance/redundant_merge'
328
- require_relative 'rubocop/cop/performance/redundant_sort_by'
329
- require_relative 'rubocop/cop/performance/regexp_match'
330
- require_relative 'rubocop/cop/performance/reverse_each'
331
- require_relative 'rubocop/cop/performance/sample'
332
- require_relative 'rubocop/cop/performance/size'
333
- require_relative 'rubocop/cop/performance/compare_with_block'
334
- require_relative 'rubocop/cop/performance/start_with'
335
- require_relative 'rubocop/cop/performance/string_replacement'
336
- require_relative 'rubocop/cop/performance/times_map'
337
- require_relative 'rubocop/cop/performance/unfreeze_string'
338
- require_relative 'rubocop/cop/performance/uri_default_parser'
339
-
358
+ require_relative 'rubocop/cop/style/access_modifier_declarations'
359
+ require_relative 'rubocop/cop/style/accessor_grouping'
340
360
  require_relative 'rubocop/cop/style/alias'
341
361
  require_relative 'rubocop/cop/style/and_or'
342
362
  require_relative 'rubocop/cop/style/array_join'
@@ -345,9 +365,9 @@ require_relative 'rubocop/cop/style/attr'
345
365
  require_relative 'rubocop/cop/style/auto_resource_cleanup'
346
366
  require_relative 'rubocop/cop/style/bare_percent_literals'
347
367
  require_relative 'rubocop/cop/style/begin_block'
368
+ require_relative 'rubocop/cop/style/bisected_attr_accessor'
348
369
  require_relative 'rubocop/cop/style/block_comments'
349
370
  require_relative 'rubocop/cop/style/block_delimiters'
350
- require_relative 'rubocop/cop/style/braces_around_hash_parameters'
351
371
  require_relative 'rubocop/cop/style/case_equality'
352
372
  require_relative 'rubocop/cop/style/character_literal'
353
373
  require_relative 'rubocop/cop/style/class_and_module_children'
@@ -356,34 +376,46 @@ require_relative 'rubocop/cop/style/class_methods'
356
376
  require_relative 'rubocop/cop/style/class_vars'
357
377
  require_relative 'rubocop/cop/style/collection_methods'
358
378
  require_relative 'rubocop/cop/style/colon_method_call'
379
+ require_relative 'rubocop/cop/style/colon_method_definition'
359
380
  require_relative 'rubocop/cop/style/command_literal'
360
381
  require_relative 'rubocop/cop/style/comment_annotation'
361
382
  require_relative 'rubocop/cop/style/commented_keyword'
362
383
  require_relative 'rubocop/cop/style/conditional_assignment'
384
+ require_relative 'rubocop/cop/style/constant_visibility'
363
385
  require_relative 'rubocop/cop/style/copyright'
364
386
  require_relative 'rubocop/cop/style/date_time'
365
387
  require_relative 'rubocop/cop/style/def_with_parentheses'
366
388
  require_relative 'rubocop/cop/style/dir'
389
+ require_relative 'rubocop/cop/style/disable_cops_within_source_code_directive'
367
390
  require_relative 'rubocop/cop/style/documentation_method'
368
391
  require_relative 'rubocop/cop/style/documentation'
392
+ require_relative 'rubocop/cop/style/double_cop_disable_directive'
369
393
  require_relative 'rubocop/cop/style/double_negation'
370
394
  require_relative 'rubocop/cop/style/each_for_simple_loop'
371
395
  require_relative 'rubocop/cop/style/each_with_object'
396
+ require_relative 'rubocop/cop/style/empty_block_parameter'
372
397
  require_relative 'rubocop/cop/style/empty_case_condition'
373
398
  require_relative 'rubocop/cop/style/empty_else'
399
+ require_relative 'rubocop/cop/style/empty_lambda_parameter'
374
400
  require_relative 'rubocop/cop/style/empty_literal'
375
401
  require_relative 'rubocop/cop/style/empty_method'
376
402
  require_relative 'rubocop/cop/style/encoding'
377
403
  require_relative 'rubocop/cop/style/end_block'
404
+ require_relative 'rubocop/cop/style/eval_with_location'
378
405
  require_relative 'rubocop/cop/style/even_odd'
379
- require_relative 'rubocop/cop/style/flip_flop'
406
+ require_relative 'rubocop/cop/style/expand_path_arguments'
407
+ require_relative 'rubocop/cop/style/exponential_notation'
408
+ require_relative 'rubocop/cop/style/float_division'
380
409
  require_relative 'rubocop/cop/style/for'
381
410
  require_relative 'rubocop/cop/style/format_string'
382
411
  require_relative 'rubocop/cop/style/format_string_token'
383
412
  require_relative 'rubocop/cop/style/frozen_string_literal_comment'
384
413
  require_relative 'rubocop/cop/style/global_vars'
385
414
  require_relative 'rubocop/cop/style/guard_clause'
415
+ require_relative 'rubocop/cop/style/hash_each_methods'
386
416
  require_relative 'rubocop/cop/style/hash_syntax'
417
+ require_relative 'rubocop/cop/style/hash_transform_keys'
418
+ require_relative 'rubocop/cop/style/hash_transform_values'
387
419
  require_relative 'rubocop/cop/style/identical_conditional_branches'
388
420
  require_relative 'rubocop/cop/style/if_inside_else'
389
421
  require_relative 'rubocop/cop/style/if_unless_modifier'
@@ -393,27 +425,36 @@ require_relative 'rubocop/cop/style/implicit_runtime_error'
393
425
  require_relative 'rubocop/cop/style/infinite_loop'
394
426
  require_relative 'rubocop/cop/style/inverse_methods'
395
427
  require_relative 'rubocop/cop/style/inline_comment'
428
+ require_relative 'rubocop/cop/style/ip_addresses'
396
429
  require_relative 'rubocop/cop/style/lambda'
397
430
  require_relative 'rubocop/cop/style/lambda_call'
398
431
  require_relative 'rubocop/cop/style/line_end_concatenation'
399
432
  require_relative 'rubocop/cop/style/method_call_without_args_parentheses'
400
433
  require_relative 'rubocop/cop/style/method_call_with_args_parentheses'
434
+ require_relative 'rubocop/cop/style/redundant_assignment'
435
+ require_relative 'rubocop/cop/style/redundant_fetch_block'
436
+ require_relative 'rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses'
437
+ require_relative 'rubocop/cop/style/method_call_with_args_parentheses/require_parentheses'
401
438
  require_relative 'rubocop/cop/style/method_called_on_do_end_block'
402
439
  require_relative 'rubocop/cop/style/method_def_parentheses'
403
- require_relative 'rubocop/cop/style/method_missing'
440
+ require_relative 'rubocop/cop/style/method_missing_super'
404
441
  require_relative 'rubocop/cop/style/min_max'
405
442
  require_relative 'rubocop/cop/style/missing_else'
443
+ require_relative 'rubocop/cop/style/missing_respond_to_missing'
406
444
  require_relative 'rubocop/cop/style/mixin_grouping'
407
445
  require_relative 'rubocop/cop/style/mixin_usage'
408
446
  require_relative 'rubocop/cop/style/module_function'
409
447
  require_relative 'rubocop/cop/style/multiline_block_chain'
410
448
  require_relative 'rubocop/cop/style/multiline_if_then'
411
449
  require_relative 'rubocop/cop/style/multiline_if_modifier'
450
+ require_relative 'rubocop/cop/style/multiline_method_signature'
412
451
  require_relative 'rubocop/cop/style/multiline_memoization'
413
452
  require_relative 'rubocop/cop/style/multiline_ternary_operator'
453
+ require_relative 'rubocop/cop/style/multiline_when_then'
414
454
  require_relative 'rubocop/cop/style/multiple_comparison'
415
455
  require_relative 'rubocop/cop/style/mutable_constant'
416
456
  require_relative 'rubocop/cop/style/negated_if'
457
+ require_relative 'rubocop/cop/style/negated_unless'
417
458
  require_relative 'rubocop/cop/style/negated_while'
418
459
  require_relative 'rubocop/cop/style/nested_modifier'
419
460
  require_relative 'rubocop/cop/style/nested_parenthesized_calls'
@@ -437,42 +478,60 @@ require_relative 'rubocop/cop/style/perl_backrefs'
437
478
  require_relative 'rubocop/cop/style/preferred_hash_methods'
438
479
  require_relative 'rubocop/cop/style/proc'
439
480
  require_relative 'rubocop/cop/style/raise_args'
481
+ require_relative 'rubocop/cop/style/random_with_offset'
440
482
  require_relative 'rubocop/cop/style/redundant_begin'
483
+ require_relative 'rubocop/cop/style/redundant_capital_w'
484
+ require_relative 'rubocop/cop/style/redundant_condition'
485
+ require_relative 'rubocop/cop/style/redundant_conditional'
441
486
  require_relative 'rubocop/cop/style/redundant_exception'
442
487
  require_relative 'rubocop/cop/style/redundant_freeze'
488
+ require_relative 'rubocop/cop/style/redundant_interpolation'
443
489
  require_relative 'rubocop/cop/style/redundant_parentheses'
490
+ require_relative 'rubocop/cop/style/redundant_percent_q'
491
+ require_relative 'rubocop/cop/style/redundant_regexp_character_class'
492
+ require_relative 'rubocop/cop/style/redundant_regexp_escape'
444
493
  require_relative 'rubocop/cop/style/redundant_return'
445
494
  require_relative 'rubocop/cop/style/redundant_self'
446
- require_relative 'rubocop/cop/style/redundant_conditional'
495
+ require_relative 'rubocop/cop/style/redundant_sort'
496
+ require_relative 'rubocop/cop/style/redundant_sort_by'
447
497
  require_relative 'rubocop/cop/style/regexp_literal'
448
498
  require_relative 'rubocop/cop/style/rescue_modifier'
499
+ require_relative 'rubocop/cop/style/rescue_standard_error'
449
500
  require_relative 'rubocop/cop/style/return_nil'
450
501
  require_relative 'rubocop/cop/style/safe_navigation'
502
+ require_relative 'rubocop/cop/style/sample'
451
503
  require_relative 'rubocop/cop/style/self_assignment'
452
504
  require_relative 'rubocop/cop/style/semicolon'
453
505
  require_relative 'rubocop/cop/style/send'
454
506
  require_relative 'rubocop/cop/style/signal_exception'
455
507
  require_relative 'rubocop/cop/style/single_line_block_params'
456
508
  require_relative 'rubocop/cop/style/single_line_methods'
509
+ require_relative 'rubocop/cop/style/slicing_with_range'
457
510
  require_relative 'rubocop/cop/style/special_global_vars'
458
511
  require_relative 'rubocop/cop/style/stabby_lambda_parentheses'
459
512
  require_relative 'rubocop/cop/style/stderr_puts'
513
+ require_relative 'rubocop/cop/style/string_hash_keys'
460
514
  require_relative 'rubocop/cop/style/string_literals'
461
515
  require_relative 'rubocop/cop/style/string_literals_in_interpolation'
462
516
  require_relative 'rubocop/cop/style/string_methods'
517
+ require_relative 'rubocop/cop/style/strip'
463
518
  require_relative 'rubocop/cop/style/struct_inheritance'
464
519
  require_relative 'rubocop/cop/style/symbol_array'
465
520
  require_relative 'rubocop/cop/style/symbol_literal'
466
521
  require_relative 'rubocop/cop/style/symbol_proc'
467
522
  require_relative 'rubocop/cop/style/ternary_parentheses'
523
+ require_relative 'rubocop/cop/style/trailing_body_on_class'
524
+ require_relative 'rubocop/cop/style/trailing_body_on_method_definition'
525
+ require_relative 'rubocop/cop/style/trailing_body_on_module'
468
526
  require_relative 'rubocop/cop/style/trailing_comma_in_arguments'
469
- require_relative 'rubocop/cop/style/trailing_comma_in_literal'
527
+ require_relative 'rubocop/cop/style/trailing_comma_in_array_literal'
528
+ require_relative 'rubocop/cop/style/trailing_comma_in_block_args'
529
+ require_relative 'rubocop/cop/style/trailing_comma_in_hash_literal'
530
+ require_relative 'rubocop/cop/style/trailing_method_end_statement'
470
531
  require_relative 'rubocop/cop/style/trailing_underscore_variable'
471
532
  require_relative 'rubocop/cop/style/trivial_accessors'
472
533
  require_relative 'rubocop/cop/style/unless_else'
473
- require_relative 'rubocop/cop/style/unneeded_capital_w'
474
- require_relative 'rubocop/cop/style/unneeded_interpolation'
475
- require_relative 'rubocop/cop/style/unneeded_percent_q'
534
+ require_relative 'rubocop/cop/style/unpack_first'
476
535
  require_relative 'rubocop/cop/style/variable_interpolation'
477
536
  require_relative 'rubocop/cop/style/when_then'
478
537
  require_relative 'rubocop/cop/style/while_until_do'
@@ -481,44 +540,10 @@ require_relative 'rubocop/cop/style/word_array'
481
540
  require_relative 'rubocop/cop/style/yoda_condition'
482
541
  require_relative 'rubocop/cop/style/zero_length_predicate'
483
542
 
484
- require_relative 'rubocop/cop/rails/action_filter'
485
- require_relative 'rubocop/cop/rails/active_support_aliases'
486
- require_relative 'rubocop/cop/rails/application_job'
487
- require_relative 'rubocop/cop/rails/application_record'
488
- require_relative 'rubocop/cop/rails/blank'
489
- require_relative 'rubocop/cop/rails/date'
490
- require_relative 'rubocop/cop/rails/dynamic_find_by'
491
- require_relative 'rubocop/cop/rails/delegate'
492
- require_relative 'rubocop/cop/rails/delegate_allow_blank'
493
- require_relative 'rubocop/cop/rails/enum_uniqueness'
494
- require_relative 'rubocop/cop/rails/exit'
495
- require_relative 'rubocop/cop/rails/file_path'
496
- require_relative 'rubocop/cop/rails/find_by'
497
- require_relative 'rubocop/cop/rails/find_each'
498
- require_relative 'rubocop/cop/rails/has_and_belongs_to_many'
499
- require_relative 'rubocop/cop/rails/has_many_or_has_one_dependent'
500
- require_relative 'rubocop/cop/rails/http_positional_arguments'
501
- require_relative 'rubocop/cop/rails/not_null_column'
502
- require_relative 'rubocop/cop/rails/output_safety'
503
- require_relative 'rubocop/cop/rails/output'
504
- require_relative 'rubocop/cop/rails/pluralization_grammar'
505
- require_relative 'rubocop/cop/rails/present'
506
- require_relative 'rubocop/cop/rails/read_write_attribute'
507
- require_relative 'rubocop/cop/rails/request_referer'
508
- require_relative 'rubocop/cop/rails/reversible_migration'
509
- require_relative 'rubocop/cop/rails/relative_date_constant'
510
- require_relative 'rubocop/cop/rails/safe_navigation'
511
- require_relative 'rubocop/cop/rails/save_bang'
512
- require_relative 'rubocop/cop/rails/scope_args'
513
- require_relative 'rubocop/cop/rails/skips_model_validations'
514
- require_relative 'rubocop/cop/rails/time_zone'
515
- require_relative 'rubocop/cop/rails/uniq_before_pluck'
516
- require_relative 'rubocop/cop/rails/unknown_env'
517
- require_relative 'rubocop/cop/rails/validation'
518
-
519
543
  require_relative 'rubocop/cop/security/eval'
520
544
  require_relative 'rubocop/cop/security/json_load'
521
545
  require_relative 'rubocop/cop/security/marshal_load'
546
+ require_relative 'rubocop/cop/security/open'
522
547
  require_relative 'rubocop/cop/security/yaml_load'
523
548
 
524
549
  require_relative 'rubocop/cop/team'
@@ -528,16 +553,20 @@ require_relative 'rubocop/formatter/simple_text_formatter'
528
553
  # relies on simple text
529
554
  require_relative 'rubocop/formatter/clang_style_formatter'
530
555
  require_relative 'rubocop/formatter/disabled_config_formatter'
531
- require_relative 'rubocop/formatter/disabled_lines_formatter'
532
556
  require_relative 'rubocop/formatter/emacs_style_formatter'
533
557
  require_relative 'rubocop/formatter/file_list_formatter'
534
558
  require_relative 'rubocop/formatter/fuubar_style_formatter'
535
559
  require_relative 'rubocop/formatter/html_formatter'
536
560
  require_relative 'rubocop/formatter/json_formatter'
561
+ require_relative 'rubocop/formatter/junit_formatter'
537
562
  require_relative 'rubocop/formatter/offense_count_formatter'
538
563
  require_relative 'rubocop/formatter/progress_formatter'
564
+ require_relative 'rubocop/formatter/quiet_formatter'
539
565
  require_relative 'rubocop/formatter/tap_formatter'
540
566
  require_relative 'rubocop/formatter/worst_offenders_formatter'
567
+ require_relative 'rubocop/formatter/pacman_formatter'
568
+ # relies on progress formatter
569
+ require_relative 'rubocop/formatter/auto_gen_config_formatter'
541
570
 
542
571
  require_relative 'rubocop/formatter/formatter_set'
543
572
 
@@ -545,14 +574,24 @@ require_relative 'rubocop/cached_data'
545
574
  require_relative 'rubocop/config'
546
575
  require_relative 'rubocop/config_loader_resolver'
547
576
  require_relative 'rubocop/config_loader'
577
+ require_relative 'rubocop/config_obsoletion'
548
578
  require_relative 'rubocop/config_store'
579
+ require_relative 'rubocop/config_validator'
549
580
  require_relative 'rubocop/target_finder'
550
- require_relative 'rubocop/token'
551
581
  require_relative 'rubocop/comment_config'
552
582
  require_relative 'rubocop/magic_comment'
553
- require_relative 'rubocop/processed_source'
554
583
  require_relative 'rubocop/result_cache'
555
584
  require_relative 'rubocop/runner'
556
585
  require_relative 'rubocop/cli'
586
+ require_relative 'rubocop/cli/command'
587
+ require_relative 'rubocop/cli/environment'
588
+ require_relative 'rubocop/cli/command/base'
589
+ require_relative 'rubocop/cli/command/auto_genenerate_config'
590
+ require_relative 'rubocop/cli/command/execute_runner'
591
+ require_relative 'rubocop/cli/command/init_dotfile'
592
+ require_relative 'rubocop/cli/command/show_cops'
593
+ require_relative 'rubocop/cli/command/version'
557
594
  require_relative 'rubocop/options'
558
595
  require_relative 'rubocop/remote_config'
596
+ require_relative 'rubocop/target_ruby'
597
+ require_relative 'rubocop/yaml_duplication_checker'