rubocop 0.76.0 → 0.83.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 (289) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +6 -6
  4. data/config/default.yml +466 -306
  5. data/lib/rubocop/ast/builder.rb +45 -42
  6. data/lib/rubocop/ast/node/array_node.rb +13 -0
  7. data/lib/rubocop/ast/node/block_node.rb +7 -1
  8. data/lib/rubocop/ast/node/case_match_node.rb +56 -0
  9. data/lib/rubocop/ast/node/def_node.rb +11 -0
  10. data/lib/rubocop/ast/node/forward_args_node.rb +18 -0
  11. data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +8 -0
  12. data/lib/rubocop/ast/node/regexp_node.rb +2 -4
  13. data/lib/rubocop/ast/node/send_node.rb +4 -0
  14. data/lib/rubocop/ast/node.rb +13 -20
  15. data/lib/rubocop/ast/traversal.rb +29 -10
  16. data/lib/rubocop/cli/command/auto_genenerate_config.rb +105 -0
  17. data/lib/rubocop/cli/command/base.rb +33 -0
  18. data/lib/rubocop/cli/command/execute_runner.rb +76 -0
  19. data/lib/rubocop/cli/command/init_dotfile.rb +45 -0
  20. data/lib/rubocop/cli/command/show_cops.rb +80 -0
  21. data/lib/rubocop/cli/command/version.rb +17 -0
  22. data/lib/rubocop/cli/command.rb +21 -0
  23. data/lib/rubocop/cli/environment.rb +21 -0
  24. data/lib/rubocop/cli.rb +20 -233
  25. data/lib/rubocop/comment_config.rb +6 -1
  26. data/lib/rubocop/config.rb +41 -11
  27. data/lib/rubocop/config_loader.rb +54 -44
  28. data/lib/rubocop/config_loader_resolver.rb +28 -1
  29. data/lib/rubocop/config_obsoletion.rb +67 -11
  30. data/lib/rubocop/config_validator.rb +74 -99
  31. data/lib/rubocop/cop/autocorrect_logic.rb +7 -4
  32. data/lib/rubocop/cop/badge.rb +5 -5
  33. data/lib/rubocop/cop/bundler/gem_comment.rb +4 -4
  34. data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +3 -3
  35. data/lib/rubocop/cop/cop.rb +21 -0
  36. data/lib/rubocop/cop/corrector.rb +48 -24
  37. data/lib/rubocop/cop/correctors/alignment_corrector.rb +2 -2
  38. data/lib/rubocop/cop/correctors/condition_corrector.rb +1 -2
  39. data/lib/rubocop/cop/correctors/empty_line_corrector.rb +1 -1
  40. data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +3 -3
  41. data/lib/rubocop/cop/correctors/line_break_corrector.rb +2 -2
  42. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
  43. data/lib/rubocop/cop/correctors/space_corrector.rb +1 -2
  44. data/lib/rubocop/cop/correctors/string_literal_corrector.rb +2 -2
  45. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -1
  46. data/lib/rubocop/cop/generator/configuration_injector.rb +1 -1
  47. data/lib/rubocop/cop/generator.rb +6 -6
  48. data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +59 -0
  49. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +1 -1
  50. data/lib/rubocop/cop/internal_affairs.rb +1 -0
  51. data/lib/rubocop/cop/layout/{align_arguments.rb → argument_alignment.rb} +1 -1
  52. data/lib/rubocop/cop/layout/array_alignment.rb +82 -0
  53. data/lib/rubocop/cop/layout/{indent_assignment.rb → assignment_indentation.rb} +1 -1
  54. data/lib/rubocop/cop/layout/block_end_newline.rb +5 -3
  55. data/lib/rubocop/cop/layout/condition_position.rb +12 -2
  56. data/lib/rubocop/cop/layout/dot_position.rb +1 -1
  57. data/lib/rubocop/cop/layout/else_alignment.rb +8 -0
  58. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -1
  59. data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +68 -0
  60. data/lib/rubocop/cop/layout/end_of_line.rb +2 -2
  61. data/lib/rubocop/cop/layout/extra_spacing.rb +1 -1
  62. data/lib/rubocop/cop/layout/{indent_first_argument.rb → first_argument_indentation.rb} +5 -5
  63. data/lib/rubocop/cop/layout/{indent_first_array_element.rb → first_array_element_indentation.rb} +20 -14
  64. data/lib/rubocop/cop/layout/{indent_first_hash_element.rb → first_hash_element_indentation.rb} +4 -4
  65. data/lib/rubocop/cop/layout/{indent_first_parameter.rb → first_parameter_indentation.rb} +3 -3
  66. data/lib/rubocop/cop/layout/{align_hash.rb → hash_alignment.rb} +10 -6
  67. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -2
  68. data/lib/rubocop/cop/layout/{indent_heredoc.rb → heredoc_indentation.rb} +7 -7
  69. data/lib/rubocop/cop/layout/{tab.rb → indentation_style.rb} +48 -6
  70. data/lib/rubocop/cop/layout/leading_comment_space.rb +34 -3
  71. data/lib/rubocop/cop/layout/{leading_blank_lines.rb → leading_empty_lines.rb} +1 -1
  72. data/lib/rubocop/cop/{metrics → layout}/line_length.rb +72 -110
  73. data/lib/rubocop/cop/layout/multiline_block_layout.rb +15 -6
  74. data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +0 -4
  75. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -1
  76. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +1 -1
  77. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +13 -4
  78. data/lib/rubocop/cop/layout/{align_parameters.rb → parameter_alignment.rb} +1 -1
  79. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +3 -3
  80. data/lib/rubocop/cop/layout/space_around_keyword.rb +12 -0
  81. data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +133 -0
  82. data/lib/rubocop/cop/layout/space_around_operators.rb +69 -9
  83. data/lib/rubocop/cop/layout/space_before_block_braces.rb +17 -0
  84. data/lib/rubocop/cop/layout/space_before_first_arg.rb +8 -0
  85. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +1 -1
  86. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +2 -2
  87. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +2 -9
  88. data/lib/rubocop/cop/layout/space_inside_range_literal.rb +2 -2
  89. data/lib/rubocop/cop/layout/{trailing_blank_lines.rb → trailing_empty_lines.rb} +1 -1
  90. data/lib/rubocop/cop/layout/trailing_whitespace.rb +2 -2
  91. data/lib/rubocop/cop/lint/ambiguous_operator.rb +38 -0
  92. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +14 -0
  93. data/lib/rubocop/cop/lint/boolean_symbol.rb +12 -0
  94. data/lib/rubocop/cop/lint/debugger.rb +2 -2
  95. data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +1 -1
  96. data/lib/rubocop/cop/lint/{duplicated_key.rb → duplicate_hash_key.rb} +1 -1
  97. data/lib/rubocop/cop/lint/duplicate_methods.rb +1 -5
  98. data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
  99. data/lib/rubocop/cop/lint/empty_when.rb +29 -6
  100. data/lib/rubocop/cop/lint/ensure_return.rb +18 -1
  101. data/lib/rubocop/cop/lint/erb_new_arguments.rb +1 -1
  102. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -1
  103. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
  104. data/lib/rubocop/cop/lint/inherit_exception.rb +1 -1
  105. data/lib/rubocop/cop/lint/interpolation_check.rb +1 -1
  106. data/lib/rubocop/cop/lint/literal_as_condition.rb +10 -13
  107. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
  108. data/lib/rubocop/cop/lint/loop.rb +6 -4
  109. data/lib/rubocop/cop/lint/{multiple_compare.rb → multiple_comparison.rb} +2 -2
  110. data/lib/rubocop/cop/lint/nested_method_definition.rb +2 -2
  111. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +89 -0
  112. data/lib/rubocop/cop/lint/number_conversion.rb +1 -1
  113. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +21 -9
  114. data/lib/rubocop/cop/lint/percent_string_array.rb +2 -2
  115. data/lib/rubocop/cop/lint/raise_exception.rb +75 -0
  116. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +4 -9
  117. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +13 -8
  118. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +1 -1
  119. data/lib/rubocop/cop/lint/{string_conversion_in_interpolation.rb → redundant_string_coercion.rb} +2 -2
  120. data/lib/rubocop/cop/lint/redundant_with_index.rb +2 -2
  121. data/lib/rubocop/cop/lint/redundant_with_object.rb +2 -2
  122. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -1
  123. data/lib/rubocop/cop/lint/struct_new_override.rb +58 -0
  124. data/lib/rubocop/cop/lint/{handle_exceptions.rb → suppressed_exception.rb} +13 -29
  125. data/lib/rubocop/cop/lint/unified_integer.rb +0 -2
  126. data/lib/rubocop/cop/lint/unused_method_argument.rb +32 -6
  127. data/lib/rubocop/cop/lint/uri_regexp.rb +4 -4
  128. data/lib/rubocop/cop/lint/useless_access_modifier.rb +69 -23
  129. data/lib/rubocop/cop/lint/useless_assignment.rb +3 -2
  130. data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +5 -0
  131. data/lib/rubocop/cop/lint/useless_setter_call.rb +5 -1
  132. data/lib/rubocop/cop/metrics/method_length.rb +1 -1
  133. data/lib/rubocop/cop/migration/department_name.rb +47 -6
  134. data/lib/rubocop/cop/mixin/alignment.rb +1 -1
  135. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +4 -0
  136. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +6 -1
  137. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +14 -5
  138. data/lib/rubocop/cop/mixin/{hash_alignment.rb → hash_alignment_styles.rb} +1 -1
  139. data/lib/rubocop/cop/mixin/hash_transform_method.rb +178 -0
  140. data/lib/rubocop/cop/mixin/line_length_help.rb +89 -0
  141. data/lib/rubocop/cop/mixin/method_complexity.rb +5 -0
  142. data/lib/rubocop/cop/mixin/nil_methods.rb +4 -4
  143. data/lib/rubocop/cop/mixin/parser_diagnostic.rb +1 -1
  144. data/lib/rubocop/cop/mixin/rational_literal.rb +18 -0
  145. data/lib/rubocop/cop/mixin/statement_modifier.rb +9 -24
  146. data/lib/rubocop/cop/mixin/target_ruby_version.rb +5 -1
  147. data/lib/rubocop/cop/mixin/trailing_comma.rb +9 -13
  148. data/lib/rubocop/cop/naming/{uncommunicative_block_param_name.rb → block_parameter_name.rb} +3 -3
  149. data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +1 -1
  150. data/lib/rubocop/cop/naming/constant_name.rb +2 -1
  151. data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +6 -6
  152. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +1 -1
  153. data/lib/rubocop/cop/naming/method_name.rb +26 -0
  154. data/lib/rubocop/cop/naming/{uncommunicative_method_param_name.rb → method_parameter_name.rb} +4 -4
  155. data/lib/rubocop/cop/naming/predicate_name.rb +6 -6
  156. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +1 -1
  157. data/lib/rubocop/cop/offense.rb +11 -0
  158. data/lib/rubocop/cop/registry.rb +15 -3
  159. data/lib/rubocop/cop/style/access_modifier_declarations.rb +26 -6
  160. data/lib/rubocop/cop/style/alias.rb +5 -5
  161. data/lib/rubocop/cop/style/and_or.rb +5 -6
  162. data/lib/rubocop/cop/style/array_join.rb +2 -2
  163. data/lib/rubocop/cop/style/attr.rb +8 -0
  164. data/lib/rubocop/cop/style/block_delimiters.rb +60 -1
  165. data/lib/rubocop/cop/style/case_equality.rb +24 -1
  166. data/lib/rubocop/cop/style/character_literal.rb +2 -2
  167. data/lib/rubocop/cop/style/collection_methods.rb +2 -0
  168. data/lib/rubocop/cop/style/conditional_assignment.rb +10 -10
  169. data/lib/rubocop/cop/style/copyright.rb +1 -1
  170. data/lib/rubocop/cop/style/dir.rb +1 -1
  171. data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +49 -0
  172. data/lib/rubocop/cop/style/documentation.rb +43 -5
  173. data/lib/rubocop/cop/style/double_cop_disable_directive.rb +1 -1
  174. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -1
  175. data/lib/rubocop/cop/style/each_with_object.rb +3 -3
  176. data/lib/rubocop/cop/style/empty_method.rb +1 -5
  177. data/lib/rubocop/cop/style/end_block.rb +6 -0
  178. data/lib/rubocop/cop/style/eval_with_location.rb +1 -1
  179. data/lib/rubocop/cop/style/even_odd.rb +2 -2
  180. data/lib/rubocop/cop/style/expand_path_arguments.rb +3 -3
  181. data/lib/rubocop/cop/style/exponential_notation.rb +119 -0
  182. data/lib/rubocop/cop/style/format_string.rb +2 -2
  183. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +89 -11
  184. data/lib/rubocop/cop/style/guard_clause.rb +28 -4
  185. data/lib/rubocop/cop/style/hash_each_methods.rb +89 -0
  186. data/lib/rubocop/cop/style/hash_syntax.rb +3 -5
  187. data/lib/rubocop/cop/style/hash_transform_keys.rb +83 -0
  188. data/lib/rubocop/cop/style/hash_transform_values.rb +80 -0
  189. data/lib/rubocop/cop/style/if_unless_modifier.rb +61 -6
  190. data/lib/rubocop/cop/style/if_with_semicolon.rb +16 -0
  191. data/lib/rubocop/cop/style/infinite_loop.rb +1 -1
  192. data/lib/rubocop/cop/style/inverse_methods.rb +9 -5
  193. data/lib/rubocop/cop/style/ip_addresses.rb +4 -4
  194. data/lib/rubocop/cop/style/lambda.rb +3 -2
  195. data/lib/rubocop/cop/style/lambda_call.rb +1 -21
  196. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +169 -0
  197. data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +54 -0
  198. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +7 -205
  199. data/lib/rubocop/cop/style/mixin_grouping.rb +2 -2
  200. data/lib/rubocop/cop/style/module_function.rb +58 -12
  201. data/lib/rubocop/cop/style/multiline_if_modifier.rb +1 -1
  202. data/lib/rubocop/cop/style/multiline_memoization.rb +1 -1
  203. data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
  204. data/lib/rubocop/cop/style/multiline_when_then.rb +21 -2
  205. data/lib/rubocop/cop/style/mutable_constant.rb +2 -4
  206. data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +9 -9
  207. data/lib/rubocop/cop/style/next.rb +7 -7
  208. data/lib/rubocop/cop/style/nil_comparison.rb +1 -1
  209. data/lib/rubocop/cop/style/non_nil_check.rb +4 -4
  210. data/lib/rubocop/cop/style/not.rb +1 -1
  211. data/lib/rubocop/cop/style/numeric_literal_prefix.rb +1 -1
  212. data/lib/rubocop/cop/style/numeric_literals.rb +8 -4
  213. data/lib/rubocop/cop/style/numeric_predicate.rb +5 -4
  214. data/lib/rubocop/cop/style/one_line_conditional.rb +4 -3
  215. data/lib/rubocop/cop/style/option_hash.rb +3 -3
  216. data/lib/rubocop/cop/style/optional_arguments.rb +1 -1
  217. data/lib/rubocop/cop/style/or_assignment.rb +4 -3
  218. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +7 -7
  219. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -1
  220. data/lib/rubocop/cop/style/perl_backrefs.rb +2 -2
  221. data/lib/rubocop/cop/style/proc.rb +1 -1
  222. data/lib/rubocop/cop/style/raise_args.rb +1 -1
  223. data/lib/rubocop/cop/style/random_with_offset.rb +3 -3
  224. data/lib/rubocop/cop/style/redundant_condition.rb +18 -6
  225. data/lib/rubocop/cop/style/redundant_conditional.rb +1 -1
  226. data/lib/rubocop/cop/style/redundant_exception.rb +3 -3
  227. data/lib/rubocop/cop/style/redundant_interpolation.rb +2 -2
  228. data/lib/rubocop/cop/style/redundant_parentheses.rb +3 -3
  229. data/lib/rubocop/cop/style/redundant_percent_q.rb +2 -2
  230. data/lib/rubocop/cop/style/redundant_return.rb +7 -15
  231. data/lib/rubocop/cop/style/redundant_self.rb +1 -1
  232. data/lib/rubocop/cop/style/redundant_sort.rb +3 -3
  233. data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
  234. data/lib/rubocop/cop/style/return_nil.rb +1 -1
  235. data/lib/rubocop/cop/style/safe_navigation.rb +1 -1
  236. data/lib/rubocop/cop/style/self_assignment.rb +1 -1
  237. data/lib/rubocop/cop/style/slicing_with_range.rb +39 -0
  238. data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
  239. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +1 -4
  240. data/lib/rubocop/cop/style/string_hash_keys.rb +1 -1
  241. data/lib/rubocop/cop/style/symbol_array.rb +3 -3
  242. data/lib/rubocop/cop/style/symbol_literal.rb +2 -2
  243. data/lib/rubocop/cop/style/ternary_parentheses.rb +2 -3
  244. data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +35 -22
  245. data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +41 -0
  246. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +88 -0
  247. data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +44 -0
  248. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +7 -1
  249. data/lib/rubocop/cop/style/trivial_accessors.rb +6 -6
  250. data/lib/rubocop/cop/style/unpack_first.rb +0 -4
  251. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  252. data/lib/rubocop/cop/style/while_until_modifier.rb +2 -2
  253. data/lib/rubocop/cop/style/word_array.rb +1 -1
  254. data/lib/rubocop/cop/style/yoda_condition.rb +16 -1
  255. data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -1
  256. data/lib/rubocop/cop/team.rb +5 -0
  257. data/lib/rubocop/cop/util.rb +24 -0
  258. data/lib/rubocop/cop/variable_force/assignment.rb +1 -0
  259. data/lib/rubocop/cop/variable_force/scope.rb +1 -0
  260. data/lib/rubocop/cop/variable_force/variable.rb +1 -0
  261. data/lib/rubocop/cop/variable_force.rb +4 -1
  262. data/lib/rubocop/formatter/base_formatter.rb +2 -2
  263. data/lib/rubocop/formatter/clang_style_formatter.rb +0 -2
  264. data/lib/rubocop/formatter/formatter_set.rb +1 -1
  265. data/lib/rubocop/formatter/json_formatter.rb +6 -5
  266. data/lib/rubocop/formatter/junit_formatter.rb +74 -0
  267. data/lib/rubocop/formatter/pacman_formatter.rb +1 -1
  268. data/lib/rubocop/formatter/tap_formatter.rb +0 -2
  269. data/lib/rubocop/name_similarity.rb +12 -9
  270. data/lib/rubocop/node_pattern.rb +97 -11
  271. data/lib/rubocop/options.rb +26 -13
  272. data/lib/rubocop/processed_source.rb +1 -4
  273. data/lib/rubocop/rake_task.rb +1 -0
  274. data/lib/rubocop/result_cache.rb +23 -7
  275. data/lib/rubocop/rspec/cop_helper.rb +1 -1
  276. data/lib/rubocop/rspec/expect_offense.rb +1 -1
  277. data/lib/rubocop/rspec/shared_contexts.rb +5 -4
  278. data/lib/rubocop/runner.rb +25 -4
  279. data/lib/rubocop/target_finder.rb +6 -4
  280. data/lib/rubocop/target_ruby.rb +151 -0
  281. data/lib/rubocop/version.rb +1 -1
  282. data/lib/rubocop.rb +53 -27
  283. metadata +73 -48
  284. data/lib/rubocop/cop/layout/align_array.rb +0 -39
  285. data/lib/rubocop/cop/lint/end_in_method.rb +0 -40
  286. data/lib/rubocop/cop/mixin/safe_mode.rb +0 -24
  287. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +0 -209
  288. data/lib/rubocop/formatter/disabled_lines_formatter.rb +0 -57
  289. data/lib/rubocop/string_util.rb +0 -14
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '0.76.0'
6
+ STRING = '0.83.0'
7
7
 
8
8
  MSG = '%<version>s (using Parser %<parser_version>s, running on ' \
9
9
  '%<ruby_engine>s %<ruby_version>s %<ruby_platform>s)'
data/lib/rubocop.rb CHANGED
@@ -14,7 +14,6 @@ require_relative 'rubocop/core_ext/string'
14
14
  require_relative 'rubocop/path_util'
15
15
  require_relative 'rubocop/file_finder'
16
16
  require_relative 'rubocop/platform'
17
- require_relative 'rubocop/string_util'
18
17
  require_relative 'rubocop/name_similarity'
19
18
  require_relative 'rubocop/node_pattern'
20
19
  require_relative 'rubocop/string_interpreter'
@@ -37,12 +36,14 @@ require_relative 'rubocop/ast/node/args_node'
37
36
  require_relative 'rubocop/ast/node/array_node'
38
37
  require_relative 'rubocop/ast/node/block_node'
39
38
  require_relative 'rubocop/ast/node/break_node'
39
+ require_relative 'rubocop/ast/node/case_match_node'
40
40
  require_relative 'rubocop/ast/node/case_node'
41
41
  require_relative 'rubocop/ast/node/class_node'
42
42
  require_relative 'rubocop/ast/node/def_node'
43
43
  require_relative 'rubocop/ast/node/defined_node'
44
44
  require_relative 'rubocop/ast/node/ensure_node'
45
45
  require_relative 'rubocop/ast/node/for_node'
46
+ require_relative 'rubocop/ast/node/forward_args_node'
46
47
  require_relative 'rubocop/ast/node/float_node'
47
48
  require_relative 'rubocop/ast/node/hash_node'
48
49
  require_relative 'rubocop/ast/node/if_node'
@@ -118,11 +119,13 @@ require_relative 'rubocop/cop/mixin/end_keyword_alignment'
118
119
  require_relative 'rubocop/cop/mixin/enforce_superclass'
119
120
  require_relative 'rubocop/cop/mixin/first_element_line_break'
120
121
  require_relative 'rubocop/cop/mixin/frozen_string_literal'
121
- require_relative 'rubocop/cop/mixin/hash_alignment'
122
+ require_relative 'rubocop/cop/mixin/hash_alignment_styles'
123
+ require_relative 'rubocop/cop/mixin/hash_transform_method'
122
124
  require_relative 'rubocop/cop/mixin/ignored_pattern'
123
125
  require_relative 'rubocop/cop/mixin/ignored_methods'
124
126
  require_relative 'rubocop/cop/mixin/integer_node'
125
127
  require_relative 'rubocop/cop/mixin/interpolation'
128
+ require_relative 'rubocop/cop/mixin/line_length_help'
126
129
  require_relative 'rubocop/cop/mixin/match_range'
127
130
  require_relative 'rubocop/cop/mixin/method_complexity'
128
131
  require_relative 'rubocop/cop/mixin/method_preference'
@@ -142,9 +145,9 @@ require_relative 'rubocop/cop/mixin/percent_array'
142
145
  require_relative 'rubocop/cop/mixin/percent_literal'
143
146
  require_relative 'rubocop/cop/mixin/preceding_following_alignment'
144
147
  require_relative 'rubocop/cop/mixin/preferred_delimiters'
148
+ require_relative 'rubocop/cop/mixin/rational_literal'
145
149
  require_relative 'rubocop/cop/mixin/rescue_node'
146
150
  require_relative 'rubocop/cop/mixin/safe_assignment'
147
- require_relative 'rubocop/cop/mixin/safe_mode'
148
151
  require_relative 'rubocop/cop/mixin/space_after_punctuation'
149
152
  require_relative 'rubocop/cop/mixin/space_before_punctuation'
150
153
  require_relative 'rubocop/cop/mixin/surrounding_space'
@@ -189,10 +192,9 @@ require_relative 'rubocop/cop/gemspec/required_ruby_version'
189
192
  require_relative 'rubocop/cop/gemspec/ruby_version_globals_usage'
190
193
 
191
194
  require_relative 'rubocop/cop/layout/access_modifier_indentation'
192
- require_relative 'rubocop/cop/layout/align_arguments'
193
- require_relative 'rubocop/cop/layout/align_array'
194
- require_relative 'rubocop/cop/layout/align_hash'
195
- require_relative 'rubocop/cop/layout/align_parameters'
195
+ require_relative 'rubocop/cop/layout/argument_alignment'
196
+ require_relative 'rubocop/cop/layout/array_alignment'
197
+ require_relative 'rubocop/cop/layout/assignment_indentation'
196
198
  require_relative 'rubocop/cop/layout/block_alignment'
197
199
  require_relative 'rubocop/cop/layout/block_end_newline'
198
200
  require_relative 'rubocop/cop/layout/case_indentation'
@@ -210,32 +212,35 @@ require_relative 'rubocop/cop/layout/empty_line_after_magic_comment'
210
212
  require_relative 'rubocop/cop/layout/empty_line_between_defs'
211
213
  require_relative 'rubocop/cop/layout/empty_lines_around_access_modifier'
212
214
  require_relative 'rubocop/cop/layout/empty_lines_around_arguments'
215
+ require_relative 'rubocop/cop/layout/empty_lines_around_attribute_accessor'
213
216
  require_relative 'rubocop/cop/layout/empty_lines_around_begin_body'
214
217
  require_relative 'rubocop/cop/layout/empty_lines_around_block_body'
215
218
  require_relative 'rubocop/cop/layout/empty_lines_around_class_body'
216
- require_relative 'rubocop/cop/layout/empty_lines_around_exception_handling_keywords' # rubocop:disable Metrics/LineLength
219
+ require_relative 'rubocop/cop/layout/empty_lines_around_exception_handling_keywords' # rubocop:disable Layout/LineLength
217
220
  require_relative 'rubocop/cop/layout/empty_lines_around_method_body'
218
221
  require_relative 'rubocop/cop/layout/empty_lines_around_module_body'
219
222
  require_relative 'rubocop/cop/layout/empty_lines'
220
223
  require_relative 'rubocop/cop/layout/end_alignment'
221
224
  require_relative 'rubocop/cop/layout/end_of_line'
222
225
  require_relative 'rubocop/cop/layout/extra_spacing'
226
+ require_relative 'rubocop/cop/layout/first_argument_indentation'
227
+ require_relative 'rubocop/cop/layout/first_array_element_indentation'
223
228
  require_relative 'rubocop/cop/layout/first_array_element_line_break'
229
+ require_relative 'rubocop/cop/layout/first_hash_element_indentation'
224
230
  require_relative 'rubocop/cop/layout/first_hash_element_line_break'
225
231
  require_relative 'rubocop/cop/layout/first_method_argument_line_break'
226
232
  require_relative 'rubocop/cop/layout/first_method_parameter_line_break'
233
+ require_relative 'rubocop/cop/layout/first_parameter_indentation'
234
+ require_relative 'rubocop/cop/layout/hash_alignment'
227
235
  require_relative 'rubocop/cop/layout/heredoc_argument_closing_parenthesis'
228
- require_relative 'rubocop/cop/layout/indent_assignment'
236
+ require_relative 'rubocop/cop/layout/heredoc_indentation'
229
237
  require_relative 'rubocop/cop/layout/indentation_consistency'
238
+ require_relative 'rubocop/cop/layout/indentation_style'
230
239
  require_relative 'rubocop/cop/layout/indentation_width'
231
- require_relative 'rubocop/cop/layout/indent_first_argument'
232
- require_relative 'rubocop/cop/layout/indent_first_array_element'
233
- require_relative 'rubocop/cop/layout/indent_first_hash_element'
234
- require_relative 'rubocop/cop/layout/indent_first_parameter'
235
- require_relative 'rubocop/cop/layout/indent_heredoc'
236
240
  require_relative 'rubocop/cop/layout/initial_indentation'
237
- require_relative 'rubocop/cop/layout/leading_blank_lines'
238
241
  require_relative 'rubocop/cop/layout/leading_comment_space'
242
+ require_relative 'rubocop/cop/layout/leading_empty_lines'
243
+ require_relative 'rubocop/cop/layout/line_length'
239
244
  require_relative 'rubocop/cop/layout/multiline_array_brace_layout'
240
245
  require_relative 'rubocop/cop/layout/multiline_array_line_breaks'
241
246
  require_relative 'rubocop/cop/layout/multiline_assignment_layout'
@@ -247,6 +252,7 @@ require_relative 'rubocop/cop/layout/multiline_method_call_brace_layout'
247
252
  require_relative 'rubocop/cop/layout/multiline_method_call_indentation'
248
253
  require_relative 'rubocop/cop/layout/multiline_method_definition_brace_layout'
249
254
  require_relative 'rubocop/cop/layout/multiline_operation_indentation'
255
+ require_relative 'rubocop/cop/layout/parameter_alignment'
250
256
  require_relative 'rubocop/cop/layout/rescue_ensure_alignment'
251
257
  require_relative 'rubocop/cop/layout/space_after_colon'
252
258
  require_relative 'rubocop/cop/layout/space_after_comma'
@@ -256,6 +262,7 @@ require_relative 'rubocop/cop/layout/space_after_semicolon'
256
262
  require_relative 'rubocop/cop/layout/space_around_block_parameters'
257
263
  require_relative 'rubocop/cop/layout/space_around_equals_in_parameter_default'
258
264
  require_relative 'rubocop/cop/layout/space_around_keyword'
265
+ require_relative 'rubocop/cop/layout/space_around_method_call_operator'
259
266
  require_relative 'rubocop/cop/layout/space_around_operators'
260
267
  require_relative 'rubocop/cop/layout/space_before_block_braces'
261
268
  require_relative 'rubocop/cop/layout/space_before_comma'
@@ -272,8 +279,7 @@ require_relative 'rubocop/cop/layout/space_inside_percent_literal_delimiters'
272
279
  require_relative 'rubocop/cop/layout/space_inside_range_literal'
273
280
  require_relative 'rubocop/cop/layout/space_inside_reference_brackets'
274
281
  require_relative 'rubocop/cop/layout/space_inside_string_interpolation'
275
- require_relative 'rubocop/cop/layout/tab'
276
- require_relative 'rubocop/cop/layout/trailing_blank_lines'
282
+ require_relative 'rubocop/cop/layout/trailing_empty_lines'
277
283
  require_relative 'rubocop/cop/layout/trailing_whitespace'
278
284
 
279
285
  require_relative 'rubocop/cop/lint/ambiguous_block_association'
@@ -287,21 +293,19 @@ require_relative 'rubocop/cop/lint/debugger'
287
293
  require_relative 'rubocop/cop/lint/deprecated_class_methods'
288
294
  require_relative 'rubocop/cop/lint/disjunctive_assignment_in_constructor'
289
295
  require_relative 'rubocop/cop/lint/duplicate_case_condition'
296
+ require_relative 'rubocop/cop/lint/duplicate_hash_key'
290
297
  require_relative 'rubocop/cop/lint/duplicate_methods'
291
- require_relative 'rubocop/cop/lint/duplicated_key'
292
298
  require_relative 'rubocop/cop/lint/each_with_object_argument'
293
299
  require_relative 'rubocop/cop/lint/else_layout'
294
300
  require_relative 'rubocop/cop/lint/empty_ensure'
295
301
  require_relative 'rubocop/cop/lint/empty_expression'
296
302
  require_relative 'rubocop/cop/lint/empty_interpolation'
297
303
  require_relative 'rubocop/cop/lint/empty_when'
298
- require_relative 'rubocop/cop/lint/end_in_method'
299
304
  require_relative 'rubocop/cop/lint/ensure_return'
300
305
  require_relative 'rubocop/cop/lint/erb_new_arguments'
301
306
  require_relative 'rubocop/cop/lint/flip_flop'
302
307
  require_relative 'rubocop/cop/lint/float_out_of_range'
303
308
  require_relative 'rubocop/cop/lint/format_parameter_mismatch'
304
- require_relative 'rubocop/cop/lint/handle_exceptions'
305
309
  require_relative 'rubocop/cop/lint/heredoc_method_call_position'
306
310
  require_relative 'rubocop/cop/lint/implicit_string_concatenation'
307
311
  require_relative 'rubocop/cop/lint/inherit_exception'
@@ -311,21 +315,24 @@ require_relative 'rubocop/cop/lint/literal_as_condition'
311
315
  require_relative 'rubocop/cop/lint/literal_in_interpolation'
312
316
  require_relative 'rubocop/cop/lint/loop'
313
317
  require_relative 'rubocop/cop/lint/missing_cop_enable_directive'
314
- require_relative 'rubocop/cop/lint/multiple_compare'
318
+ require_relative 'rubocop/cop/lint/multiple_comparison'
315
319
  require_relative 'rubocop/cop/lint/nested_method_definition'
316
320
  require_relative 'rubocop/cop/lint/nested_percent_literal'
317
321
  require_relative 'rubocop/cop/lint/next_without_accumulator'
322
+ require_relative 'rubocop/cop/lint/non_deterministic_require_order'
318
323
  require_relative 'rubocop/cop/lint/non_local_exit_from_iterator'
319
324
  require_relative 'rubocop/cop/lint/number_conversion'
320
325
  require_relative 'rubocop/cop/lint/ordered_magic_comments'
321
326
  require_relative 'rubocop/cop/lint/parentheses_as_grouped_expression'
322
327
  require_relative 'rubocop/cop/lint/percent_string_array'
323
328
  require_relative 'rubocop/cop/lint/percent_symbol_array'
329
+ require_relative 'rubocop/cop/lint/raise_exception'
324
330
  require_relative 'rubocop/cop/lint/rand_one'
325
331
  require_relative 'rubocop/cop/lint/redundant_cop_disable_directive'
326
332
  require_relative 'rubocop/cop/lint/redundant_cop_enable_directive'
327
333
  require_relative 'rubocop/cop/lint/redundant_require_statement'
328
334
  require_relative 'rubocop/cop/lint/redundant_splat_expansion'
335
+ require_relative 'rubocop/cop/lint/redundant_string_coercion'
329
336
  require_relative 'rubocop/cop/lint/redundant_with_index'
330
337
  require_relative 'rubocop/cop/lint/redundant_with_object'
331
338
  require_relative 'rubocop/cop/lint/regexp_as_condition'
@@ -341,7 +348,8 @@ require_relative 'rubocop/cop/lint/send_with_mixin_argument'
341
348
  require_relative 'rubocop/cop/lint/shadowed_argument'
342
349
  require_relative 'rubocop/cop/lint/shadowed_exception'
343
350
  require_relative 'rubocop/cop/lint/shadowing_outer_local_variable'
344
- require_relative 'rubocop/cop/lint/string_conversion_in_interpolation'
351
+ require_relative 'rubocop/cop/lint/struct_new_override'
352
+ require_relative 'rubocop/cop/lint/suppressed_exception'
345
353
  require_relative 'rubocop/cop/lint/syntax'
346
354
  require_relative 'rubocop/cop/lint/to_json'
347
355
  require_relative 'rubocop/cop/lint/underscore_prefixed_variable_name'
@@ -365,7 +373,6 @@ require_relative 'rubocop/cop/metrics/abc_size'
365
373
  require_relative 'rubocop/cop/metrics/block_length'
366
374
  require_relative 'rubocop/cop/metrics/block_nesting'
367
375
  require_relative 'rubocop/cop/metrics/class_length'
368
- require_relative 'rubocop/cop/metrics/line_length'
369
376
  require_relative 'rubocop/cop/metrics/method_length'
370
377
  require_relative 'rubocop/cop/metrics/module_length'
371
378
  require_relative 'rubocop/cop/metrics/parameter_lists'
@@ -373,6 +380,7 @@ require_relative 'rubocop/cop/metrics/perceived_complexity'
373
380
 
374
381
  require_relative 'rubocop/cop/naming/accessor_method_name'
375
382
  require_relative 'rubocop/cop/naming/ascii_identifiers'
383
+ require_relative 'rubocop/cop/naming/block_parameter_name'
376
384
  require_relative 'rubocop/cop/naming/class_and_module_camel_case'
377
385
  require_relative 'rubocop/cop/naming/constant_name'
378
386
  require_relative 'rubocop/cop/naming/file_name'
@@ -380,11 +388,10 @@ require_relative 'rubocop/cop/naming/heredoc_delimiter_case'
380
388
  require_relative 'rubocop/cop/naming/heredoc_delimiter_naming'
381
389
  require_relative 'rubocop/cop/naming/memoized_instance_variable_name'
382
390
  require_relative 'rubocop/cop/naming/method_name'
391
+ require_relative 'rubocop/cop/naming/method_parameter_name'
383
392
  require_relative 'rubocop/cop/naming/binary_operator_parameter_name'
384
393
  require_relative 'rubocop/cop/naming/predicate_name'
385
394
  require_relative 'rubocop/cop/naming/rescued_exceptions_variable_name'
386
- require_relative 'rubocop/cop/naming/uncommunicative_block_param_name'
387
- require_relative 'rubocop/cop/naming/uncommunicative_method_param_name'
388
395
  require_relative 'rubocop/cop/naming/variable_name'
389
396
  require_relative 'rubocop/cop/naming/variable_number'
390
397
 
@@ -399,7 +406,6 @@ require_relative 'rubocop/cop/style/bare_percent_literals'
399
406
  require_relative 'rubocop/cop/style/begin_block'
400
407
  require_relative 'rubocop/cop/style/block_comments'
401
408
  require_relative 'rubocop/cop/style/block_delimiters'
402
- require_relative 'rubocop/cop/style/braces_around_hash_parameters'
403
409
  require_relative 'rubocop/cop/style/case_equality'
404
410
  require_relative 'rubocop/cop/style/character_literal'
405
411
  require_relative 'rubocop/cop/style/class_and_module_children'
@@ -418,6 +424,7 @@ require_relative 'rubocop/cop/style/copyright'
418
424
  require_relative 'rubocop/cop/style/date_time'
419
425
  require_relative 'rubocop/cop/style/def_with_parentheses'
420
426
  require_relative 'rubocop/cop/style/dir'
427
+ require_relative 'rubocop/cop/style/disable_cops_within_source_code_directive'
421
428
  require_relative 'rubocop/cop/style/documentation_method'
422
429
  require_relative 'rubocop/cop/style/documentation'
423
430
  require_relative 'rubocop/cop/style/double_cop_disable_directive'
@@ -435,6 +442,7 @@ require_relative 'rubocop/cop/style/end_block'
435
442
  require_relative 'rubocop/cop/style/eval_with_location'
436
443
  require_relative 'rubocop/cop/style/even_odd'
437
444
  require_relative 'rubocop/cop/style/expand_path_arguments'
445
+ require_relative 'rubocop/cop/style/exponential_notation'
438
446
  require_relative 'rubocop/cop/style/float_division'
439
447
  require_relative 'rubocop/cop/style/for'
440
448
  require_relative 'rubocop/cop/style/format_string'
@@ -442,7 +450,10 @@ require_relative 'rubocop/cop/style/format_string_token'
442
450
  require_relative 'rubocop/cop/style/frozen_string_literal_comment'
443
451
  require_relative 'rubocop/cop/style/global_vars'
444
452
  require_relative 'rubocop/cop/style/guard_clause'
453
+ require_relative 'rubocop/cop/style/hash_each_methods'
445
454
  require_relative 'rubocop/cop/style/hash_syntax'
455
+ require_relative 'rubocop/cop/style/hash_transform_keys'
456
+ require_relative 'rubocop/cop/style/hash_transform_values'
446
457
  require_relative 'rubocop/cop/style/identical_conditional_branches'
447
458
  require_relative 'rubocop/cop/style/if_inside_else'
448
459
  require_relative 'rubocop/cop/style/if_unless_modifier'
@@ -457,7 +468,11 @@ require_relative 'rubocop/cop/style/lambda'
457
468
  require_relative 'rubocop/cop/style/lambda_call'
458
469
  require_relative 'rubocop/cop/style/line_end_concatenation'
459
470
  require_relative 'rubocop/cop/style/method_call_without_args_parentheses'
471
+ # rubocop:disable Layout/LineLength
460
472
  require_relative 'rubocop/cop/style/method_call_with_args_parentheses'
473
+ require_relative 'rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses'
474
+ require_relative 'rubocop/cop/style/method_call_with_args_parentheses/require_parentheses'
475
+ # rubocop:enable Layout/LineLength
461
476
  require_relative 'rubocop/cop/style/method_called_on_do_end_block'
462
477
  require_relative 'rubocop/cop/style/method_def_parentheses'
463
478
  require_relative 'rubocop/cop/style/method_missing_super'
@@ -527,6 +542,7 @@ require_relative 'rubocop/cop/style/send'
527
542
  require_relative 'rubocop/cop/style/signal_exception'
528
543
  require_relative 'rubocop/cop/style/single_line_block_params'
529
544
  require_relative 'rubocop/cop/style/single_line_methods'
545
+ require_relative 'rubocop/cop/style/slicing_with_range'
530
546
  require_relative 'rubocop/cop/style/special_global_vars'
531
547
  require_relative 'rubocop/cop/style/stabby_lambda_parentheses'
532
548
  require_relative 'rubocop/cop/style/stderr_puts'
@@ -545,6 +561,7 @@ require_relative 'rubocop/cop/style/trailing_body_on_method_definition'
545
561
  require_relative 'rubocop/cop/style/trailing_body_on_module'
546
562
  require_relative 'rubocop/cop/style/trailing_comma_in_arguments'
547
563
  require_relative 'rubocop/cop/style/trailing_comma_in_array_literal'
564
+ require_relative 'rubocop/cop/style/trailing_comma_in_block_args'
548
565
  require_relative 'rubocop/cop/style/trailing_comma_in_hash_literal'
549
566
  require_relative 'rubocop/cop/style/trailing_method_end_statement'
550
567
  require_relative 'rubocop/cop/style/trailing_underscore_variable'
@@ -572,12 +589,12 @@ require_relative 'rubocop/formatter/simple_text_formatter'
572
589
  # relies on simple text
573
590
  require_relative 'rubocop/formatter/clang_style_formatter'
574
591
  require_relative 'rubocop/formatter/disabled_config_formatter'
575
- require_relative 'rubocop/formatter/disabled_lines_formatter'
576
592
  require_relative 'rubocop/formatter/emacs_style_formatter'
577
593
  require_relative 'rubocop/formatter/file_list_formatter'
578
594
  require_relative 'rubocop/formatter/fuubar_style_formatter'
579
595
  require_relative 'rubocop/formatter/html_formatter'
580
596
  require_relative 'rubocop/formatter/json_formatter'
597
+ require_relative 'rubocop/formatter/junit_formatter'
581
598
  require_relative 'rubocop/formatter/offense_count_formatter'
582
599
  require_relative 'rubocop/formatter/progress_formatter'
583
600
  require_relative 'rubocop/formatter/quiet_formatter'
@@ -604,6 +621,15 @@ require_relative 'rubocop/processed_source'
604
621
  require_relative 'rubocop/result_cache'
605
622
  require_relative 'rubocop/runner'
606
623
  require_relative 'rubocop/cli'
624
+ require_relative 'rubocop/cli/command'
625
+ require_relative 'rubocop/cli/environment'
626
+ require_relative 'rubocop/cli/command/base'
627
+ require_relative 'rubocop/cli/command/auto_genenerate_config'
628
+ require_relative 'rubocop/cli/command/execute_runner'
629
+ require_relative 'rubocop/cli/command/init_dotfile'
630
+ require_relative 'rubocop/cli/command/show_cops'
631
+ require_relative 'rubocop/cli/command/version'
607
632
  require_relative 'rubocop/options'
608
633
  require_relative 'rubocop/remote_config'
634
+ require_relative 'rubocop/target_ruby'
609
635
  require_relative 'rubocop/yaml_duplication_checker'