rubocop 1.12.1 → 1.13.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 (395) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/config/default.yml +10 -0
  4. data/exe/rubocop +1 -3
  5. data/lib/rubocop.rb +1 -1
  6. data/lib/rubocop/cached_data.rb +1 -3
  7. data/lib/rubocop/cli.rb +4 -6
  8. data/lib/rubocop/cli/command/auto_genenerate_config.rb +9 -19
  9. data/lib/rubocop/cli/command/init_dotfile.rb +1 -3
  10. data/lib/rubocop/cli/command/show_cops.rb +1 -4
  11. data/lib/rubocop/comment_config.rb +2 -7
  12. data/lib/rubocop/config.rb +11 -26
  13. data/lib/rubocop/config_loader.rb +5 -11
  14. data/lib/rubocop/config_loader_resolver.rb +22 -14
  15. data/lib/rubocop/config_obsoletion/cop_rule.rb +1 -2
  16. data/lib/rubocop/config_store.rb +1 -2
  17. data/lib/rubocop/config_validator.rb +5 -10
  18. data/lib/rubocop/cop/autocorrect_logic.rb +3 -8
  19. data/lib/rubocop/cop/badge.rb +1 -2
  20. data/lib/rubocop/cop/base.rb +8 -6
  21. data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -2
  22. data/lib/rubocop/cop/bundler/gem_comment.rb +42 -8
  23. data/lib/rubocop/cop/bundler/ordered_gems.rb +1 -4
  24. data/lib/rubocop/cop/commissioner.rb +2 -8
  25. data/lib/rubocop/cop/cop.rb +4 -18
  26. data/lib/rubocop/cop/corrector.rb +1 -4
  27. data/lib/rubocop/cop/correctors/alignment_corrector.rb +3 -6
  28. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +2 -4
  29. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +1 -2
  30. data/lib/rubocop/cop/correctors/line_break_corrector.rb +3 -6
  31. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +1 -3
  32. data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +1 -3
  33. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +2 -8
  34. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +1 -2
  35. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -4
  36. data/lib/rubocop/cop/generator.rb +1 -4
  37. data/lib/rubocop/cop/generator/configuration_injector.rb +1 -2
  38. data/lib/rubocop/cop/generator/require_file_injector.rb +2 -5
  39. data/lib/rubocop/cop/internal_affairs/example_description.rb +6 -4
  40. data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +2 -5
  41. data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -3
  42. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -3
  43. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +1 -2
  44. data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +1 -2
  45. data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +1 -3
  46. data/lib/rubocop/cop/layout/access_modifier_indentation.rb +1 -2
  47. data/lib/rubocop/cop/layout/argument_alignment.rb +2 -4
  48. data/lib/rubocop/cop/layout/assignment_indentation.rb +2 -4
  49. data/lib/rubocop/cop/layout/begin_end_alignment.rb +1 -4
  50. data/lib/rubocop/cop/layout/block_alignment.rb +7 -19
  51. data/lib/rubocop/cop/layout/case_indentation.rb +1 -3
  52. data/lib/rubocop/cop/layout/class_structure.rb +4 -10
  53. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +4 -15
  54. data/lib/rubocop/cop/layout/comment_indentation.rb +1 -5
  55. data/lib/rubocop/cop/layout/def_end_alignment.rb +2 -6
  56. data/lib/rubocop/cop/layout/dot_position.rb +1 -3
  57. data/lib/rubocop/cop/layout/else_alignment.rb +1 -3
  58. data/lib/rubocop/cop/layout/empty_comment.rb +5 -12
  59. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +2 -5
  60. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -6
  61. data/lib/rubocop/cop/layout/empty_lines.rb +1 -3
  62. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +8 -18
  63. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +2 -8
  64. data/lib/rubocop/cop/layout/end_alignment.rb +1 -2
  65. data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
  66. data/lib/rubocop/cop/layout/extra_spacing.rb +3 -7
  67. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +1 -2
  68. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +1 -2
  69. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +2 -5
  70. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -2
  71. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -2
  72. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +1 -2
  73. data/lib/rubocop/cop/layout/hash_alignment.rb +3 -6
  74. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -9
  75. data/lib/rubocop/cop/layout/heredoc_indentation.rb +2 -6
  76. data/lib/rubocop/cop/layout/indentation_style.rb +1 -3
  77. data/lib/rubocop/cop/layout/indentation_width.rb +1 -2
  78. data/lib/rubocop/cop/layout/initial_indentation.rb +1 -4
  79. data/lib/rubocop/cop/layout/line_length.rb +4 -15
  80. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +1 -2
  81. data/lib/rubocop/cop/layout/multiline_block_layout.rb +7 -15
  82. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -2
  83. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -2
  84. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +4 -10
  85. data/lib/rubocop/cop/layout/redundant_line_break.rb +125 -0
  86. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +3 -6
  87. data/lib/rubocop/cop/layout/space_after_colon.rb +1 -3
  88. data/lib/rubocop/cop/layout/space_after_method_name.rb +2 -4
  89. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +6 -14
  90. data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +1 -2
  91. data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -6
  92. data/lib/rubocop/cop/layout/space_around_operators.rb +4 -9
  93. data/lib/rubocop/cop/layout/space_before_block_braces.rb +1 -2
  94. data/lib/rubocop/cop/layout/space_before_brackets.rb +1 -3
  95. data/lib/rubocop/cop/layout/space_before_comment.rb +1 -3
  96. data/lib/rubocop/cop/layout/space_before_first_arg.rb +5 -11
  97. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +2 -4
  98. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +5 -10
  99. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +2 -7
  100. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +5 -10
  101. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +1 -2
  102. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +1 -2
  103. data/lib/rubocop/cop/legacy/corrections_proxy.rb +2 -8
  104. data/lib/rubocop/cop/legacy/corrector.rb +1 -3
  105. data/lib/rubocop/cop/lint/ambiguous_assignment.rb +1 -6
  106. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +14 -7
  107. data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -2
  108. data/lib/rubocop/cop/lint/constant_resolution.rb +1 -2
  109. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +2 -4
  110. data/lib/rubocop/cop/lint/deprecated_constants.rb +3 -3
  111. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +2 -5
  112. data/lib/rubocop/cop/lint/duplicate_branch.rb +1 -2
  113. data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -3
  114. data/lib/rubocop/cop/lint/duplicate_methods.rb +3 -7
  115. data/lib/rubocop/cop/lint/else_layout.rb +1 -3
  116. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -3
  117. data/lib/rubocop/cop/lint/empty_file.rb +1 -3
  118. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -3
  119. data/lib/rubocop/cop/lint/ensure_return.rb +1 -3
  120. data/lib/rubocop/cop/lint/erb_new_arguments.rb +3 -7
  121. data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -2
  122. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +3 -6
  123. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +1 -2
  124. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -2
  125. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +3 -7
  126. data/lib/rubocop/cop/lint/inherit_exception.rb +1 -2
  127. data/lib/rubocop/cop/lint/interpolation_check.rb +3 -11
  128. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +3 -6
  129. data/lib/rubocop/cop/lint/loop.rb +1 -2
  130. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +3 -7
  131. data/lib/rubocop/cop/lint/missing_super.rb +1 -2
  132. data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -2
  133. data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -2
  134. data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -3
  135. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +1 -3
  136. data/lib/rubocop/cop/lint/number_conversion.rb +1 -2
  137. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +1 -2
  138. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +1 -3
  139. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -3
  140. data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -3
  141. data/lib/rubocop/cop/lint/raise_exception.rb +1 -2
  142. data/lib/rubocop/cop/lint/rand_one.rb +1 -2
  143. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +8 -20
  144. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +1 -3
  145. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +3 -7
  146. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +1 -2
  147. data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -4
  148. data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -4
  149. data/lib/rubocop/cop/lint/regexp_as_condition.rb +1 -3
  150. data/lib/rubocop/cop/lint/require_parentheses.rb +2 -4
  151. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -2
  152. data/lib/rubocop/cop/lint/rescue_type.rb +2 -7
  153. data/lib/rubocop/cop/lint/return_in_void_context.rb +1 -2
  154. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +1 -2
  155. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +4 -10
  156. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +1 -2
  157. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +2 -7
  158. data/lib/rubocop/cop/lint/shadowed_argument.rb +4 -11
  159. data/lib/rubocop/cop/lint/shadowed_exception.rb +7 -8
  160. data/lib/rubocop/cop/lint/struct_new_override.rb +1 -2
  161. data/lib/rubocop/cop/lint/symbol_conversion.rb +2 -4
  162. data/lib/rubocop/cop/lint/syntax.rb +1 -3
  163. data/lib/rubocop/cop/lint/to_json.rb +1 -2
  164. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +1 -3
  165. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +1 -3
  166. data/lib/rubocop/cop/lint/unreachable_code.rb +2 -5
  167. data/lib/rubocop/cop/lint/unreachable_loop.rb +2 -5
  168. data/lib/rubocop/cop/lint/unused_block_argument.rb +4 -8
  169. data/lib/rubocop/cop/lint/unused_method_argument.rb +1 -2
  170. data/lib/rubocop/cop/lint/useless_access_modifier.rb +2 -4
  171. data/lib/rubocop/cop/lint/useless_assignment.rb +4 -9
  172. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -3
  173. data/lib/rubocop/cop/lint/void.rb +4 -11
  174. data/lib/rubocop/cop/message_annotator.rb +1 -3
  175. data/lib/rubocop/cop/metrics/block_nesting.rb +2 -7
  176. data/lib/rubocop/cop/metrics/class_length.rb +1 -3
  177. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -2
  178. data/lib/rubocop/cop/metrics/module_length.rb +2 -6
  179. data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -5
  180. data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -2
  181. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +4 -7
  182. data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +2 -7
  183. data/lib/rubocop/cop/migration/department_name.rb +3 -7
  184. data/lib/rubocop/cop/mixin/alignment.rb +2 -4
  185. data/lib/rubocop/cop/mixin/code_length.rb +1 -3
  186. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +2 -2
  187. data/lib/rubocop/cop/mixin/configurable_formatting.rb +3 -8
  188. data/lib/rubocop/cop/mixin/def_node.rb +2 -5
  189. data/lib/rubocop/cop/mixin/documentation_comment.rb +2 -5
  190. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +3 -7
  191. data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -3
  192. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +1 -3
  193. data/lib/rubocop/cop/mixin/enforce_superclass.rb +2 -6
  194. data/lib/rubocop/cop/mixin/first_element_line_break.rb +1 -3
  195. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +3 -9
  196. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +3 -6
  197. data/lib/rubocop/cop/mixin/hash_transform_method.rb +7 -22
  198. data/lib/rubocop/cop/mixin/interpolation.rb +1 -3
  199. data/lib/rubocop/cop/mixin/line_length_help.rb +2 -4
  200. data/lib/rubocop/cop/mixin/match_range.rb +2 -5
  201. data/lib/rubocop/cop/mixin/method_complexity.rb +1 -3
  202. data/lib/rubocop/cop/mixin/method_preference.rb +1 -2
  203. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +1 -2
  204. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +1 -3
  205. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +7 -17
  206. data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +1 -2
  207. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -2
  208. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -4
  209. data/lib/rubocop/cop/mixin/percent_array.rb +1 -3
  210. data/lib/rubocop/cop/mixin/percent_literal.rb +0 -6
  211. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +5 -11
  212. data/lib/rubocop/cop/mixin/preferred_delimiters.rb +3 -6
  213. data/lib/rubocop/cop/mixin/range_help.rb +10 -13
  214. data/lib/rubocop/cop/mixin/rescue_node.rb +2 -6
  215. data/lib/rubocop/cop/mixin/safe_assignment.rb +1 -2
  216. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +2 -4
  217. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -2
  218. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -3
  219. data/lib/rubocop/cop/mixin/trailing_body.rb +1 -2
  220. data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -2
  221. data/lib/rubocop/cop/mixin/uncommunicative_name.rb +3 -7
  222. data/lib/rubocop/cop/mixin/unused_argument.rb +1 -3
  223. data/lib/rubocop/cop/naming/ascii_identifiers.rb +2 -4
  224. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -2
  225. data/lib/rubocop/cop/naming/file_name.rb +7 -16
  226. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -3
  227. data/lib/rubocop/cop/naming/method_name.rb +1 -2
  228. data/lib/rubocop/cop/naming/predicate_name.rb +1 -2
  229. data/lib/rubocop/cop/offense.rb +3 -8
  230. data/lib/rubocop/cop/registry.rb +3 -11
  231. data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -3
  232. data/lib/rubocop/cop/style/accessor_grouping.rb +1 -3
  233. data/lib/rubocop/cop/style/alias.rb +5 -12
  234. data/lib/rubocop/cop/style/arguments_forwarding.rb +1 -3
  235. data/lib/rubocop/cop/style/ascii_comments.rb +1 -2
  236. data/lib/rubocop/cop/style/attr.rb +1 -3
  237. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +2 -5
  238. data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +1 -3
  239. data/lib/rubocop/cop/style/case_like_if.rb +1 -2
  240. data/lib/rubocop/cop/style/character_literal.rb +2 -4
  241. data/lib/rubocop/cop/style/class_and_module_children.rb +3 -6
  242. data/lib/rubocop/cop/style/class_methods.rb +1 -3
  243. data/lib/rubocop/cop/style/collection_compact.rb +1 -3
  244. data/lib/rubocop/cop/style/colon_method_call.rb +1 -3
  245. data/lib/rubocop/cop/style/combinable_loops.rb +3 -2
  246. data/lib/rubocop/cop/style/command_literal.rb +3 -8
  247. data/lib/rubocop/cop/style/comment_annotation.rb +3 -6
  248. data/lib/rubocop/cop/style/commented_keyword.rb +2 -8
  249. data/lib/rubocop/cop/style/conditional_assignment.rb +10 -24
  250. data/lib/rubocop/cop/style/copyright.rb +3 -6
  251. data/lib/rubocop/cop/style/date_time.rb +2 -5
  252. data/lib/rubocop/cop/style/def_with_parentheses.rb +1 -2
  253. data/lib/rubocop/cop/style/each_for_simple_loop.rb +1 -2
  254. data/lib/rubocop/cop/style/empty_case_condition.rb +2 -7
  255. data/lib/rubocop/cop/style/empty_else.rb +3 -9
  256. data/lib/rubocop/cop/style/empty_literal.rb +4 -8
  257. data/lib/rubocop/cop/style/empty_method.rb +3 -7
  258. data/lib/rubocop/cop/style/end_block.rb +1 -2
  259. data/lib/rubocop/cop/style/endless_method.rb +1 -3
  260. data/lib/rubocop/cop/style/eval_with_location.rb +2 -4
  261. data/lib/rubocop/cop/style/expand_path_arguments.rb +1 -3
  262. data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -4
  263. data/lib/rubocop/cop/style/format_string_token.rb +1 -4
  264. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +3 -8
  265. data/lib/rubocop/cop/style/guard_clause.rb +3 -7
  266. data/lib/rubocop/cop/style/hash_conversion.rb +28 -3
  267. data/lib/rubocop/cop/style/hash_each_methods.rb +1 -2
  268. data/lib/rubocop/cop/style/hash_like_case.rb +1 -2
  269. data/lib/rubocop/cop/style/hash_syntax.rb +4 -9
  270. data/lib/rubocop/cop/style/identical_conditional_branches.rb +1 -3
  271. data/lib/rubocop/cop/style/if_unless_modifier.rb +41 -13
  272. data/lib/rubocop/cop/style/infinite_loop.rb +2 -5
  273. data/lib/rubocop/cop/style/inverse_methods.rb +3 -7
  274. data/lib/rubocop/cop/style/ip_addresses.rb +1 -2
  275. data/lib/rubocop/cop/style/lambda.rb +2 -4
  276. data/lib/rubocop/cop/style/lambda_call.rb +1 -2
  277. data/lib/rubocop/cop/style/line_end_concatenation.rb +5 -12
  278. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +1 -1
  279. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +7 -13
  280. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -2
  281. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -4
  282. data/lib/rubocop/cop/style/method_def_parentheses.rb +4 -8
  283. data/lib/rubocop/cop/style/min_max.rb +1 -2
  284. data/lib/rubocop/cop/style/missing_else.rb +2 -4
  285. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +1 -2
  286. data/lib/rubocop/cop/style/mixin_grouping.rb +4 -10
  287. data/lib/rubocop/cop/style/mixin_usage.rb +1 -2
  288. data/lib/rubocop/cop/style/module_function.rb +3 -6
  289. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -2
  290. data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -3
  291. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -2
  292. data/lib/rubocop/cop/style/multiple_comparison.rb +2 -4
  293. data/lib/rubocop/cop/style/mutable_constant.rb +4 -10
  294. data/lib/rubocop/cop/style/negated_if.rb +1 -2
  295. data/lib/rubocop/cop/style/negated_unless.rb +1 -2
  296. data/lib/rubocop/cop/style/nested_modifier.rb +3 -7
  297. data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -3
  298. data/lib/rubocop/cop/style/next.rb +4 -9
  299. data/lib/rubocop/cop/style/non_nil_check.rb +2 -5
  300. data/lib/rubocop/cop/style/numeric_literals.rb +3 -11
  301. data/lib/rubocop/cop/style/numeric_predicate.rb +2 -7
  302. data/lib/rubocop/cop/style/one_line_conditional.rb +1 -2
  303. data/lib/rubocop/cop/style/option_hash.rb +1 -3
  304. data/lib/rubocop/cop/style/optional_arguments.rb +2 -5
  305. data/lib/rubocop/cop/style/or_assignment.rb +2 -6
  306. data/lib/rubocop/cop/style/parallel_assignment.rb +6 -9
  307. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -3
  308. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -2
  309. data/lib/rubocop/cop/style/perl_backrefs.rb +2 -9
  310. data/lib/rubocop/cop/style/preferred_hash_methods.rb +1 -4
  311. data/lib/rubocop/cop/style/proc.rb +1 -2
  312. data/lib/rubocop/cop/style/raise_args.rb +4 -8
  313. data/lib/rubocop/cop/style/random_with_offset.rb +3 -8
  314. data/lib/rubocop/cop/style/redundant_argument.rb +2 -11
  315. data/lib/rubocop/cop/style/redundant_assignment.rb +1 -3
  316. data/lib/rubocop/cop/style/redundant_begin.rb +4 -4
  317. data/lib/rubocop/cop/style/redundant_capital_w.rb +1 -2
  318. data/lib/rubocop/cop/style/redundant_condition.rb +2 -5
  319. data/lib/rubocop/cop/style/redundant_conditional.rb +3 -6
  320. data/lib/rubocop/cop/style/redundant_exception.rb +3 -6
  321. data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +1 -1
  322. data/lib/rubocop/cop/style/redundant_freeze.rb +1 -2
  323. data/lib/rubocop/cop/style/redundant_interpolation.rb +1 -2
  324. data/lib/rubocop/cop/style/redundant_parentheses.rb +8 -20
  325. data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -2
  326. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -4
  327. data/lib/rubocop/cop/style/redundant_return.rb +3 -5
  328. data/lib/rubocop/cop/style/redundant_self.rb +2 -6
  329. data/lib/rubocop/cop/style/redundant_self_assignment.rb +2 -2
  330. data/lib/rubocop/cop/style/redundant_sort.rb +2 -5
  331. data/lib/rubocop/cop/style/regexp_literal.rb +4 -8
  332. data/lib/rubocop/cop/style/rescue_modifier.rb +4 -0
  333. data/lib/rubocop/cop/style/rescue_standard_error.rb +3 -7
  334. data/lib/rubocop/cop/style/return_nil.rb +1 -2
  335. data/lib/rubocop/cop/style/safe_navigation.rb +10 -21
  336. data/lib/rubocop/cop/style/send.rb +1 -2
  337. data/lib/rubocop/cop/style/signal_exception.rb +3 -7
  338. data/lib/rubocop/cop/style/single_argument_dig.rb +1 -2
  339. data/lib/rubocop/cop/style/single_line_block_params.rb +2 -5
  340. data/lib/rubocop/cop/style/single_line_methods.rb +15 -4
  341. data/lib/rubocop/cop/style/sole_nested_conditional.rb +1 -2
  342. data/lib/rubocop/cop/style/special_global_vars.rb +6 -18
  343. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +1 -2
  344. data/lib/rubocop/cop/style/stderr_puts.rb +2 -6
  345. data/lib/rubocop/cop/style/string_chars.rb +2 -1
  346. data/lib/rubocop/cop/style/string_concatenation.rb +8 -10
  347. data/lib/rubocop/cop/style/string_literals.rb +2 -5
  348. data/lib/rubocop/cop/style/struct_inheritance.rb +9 -1
  349. data/lib/rubocop/cop/style/symbol_literal.rb +1 -3
  350. data/lib/rubocop/cop/style/symbol_proc.rb +4 -9
  351. data/lib/rubocop/cop/style/ternary_parentheses.rb +3 -6
  352. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +1 -2
  353. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +2 -6
  354. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +2 -5
  355. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +4 -10
  356. data/lib/rubocop/cop/style/trivial_accessors.rb +2 -4
  357. data/lib/rubocop/cop/style/unless_else.rb +1 -2
  358. data/lib/rubocop/cop/style/unless_logical_operators.rb +2 -2
  359. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  360. data/lib/rubocop/cop/style/when_then.rb +1 -3
  361. data/lib/rubocop/cop/style/while_until_modifier.rb +1 -2
  362. data/lib/rubocop/cop/style/word_array.rb +1 -2
  363. data/lib/rubocop/cop/style/yoda_condition.rb +3 -11
  364. data/lib/rubocop/cop/style/zero_length_predicate.rb +1 -2
  365. data/lib/rubocop/cop/team.rb +2 -5
  366. data/lib/rubocop/cop/util.rb +4 -10
  367. data/lib/rubocop/cop/utils/format_string.rb +1 -3
  368. data/lib/rubocop/cop/variable_force.rb +6 -15
  369. data/lib/rubocop/cop/variable_force/assignment.rb +1 -2
  370. data/lib/rubocop/cop/variable_force/branch.rb +1 -2
  371. data/lib/rubocop/cop/variable_force/reference.rb +1 -3
  372. data/lib/rubocop/cop/variable_force/scope.rb +4 -8
  373. data/lib/rubocop/cop/variable_force/variable.rb +2 -4
  374. data/lib/rubocop/cops_documentation_generator.rb +7 -21
  375. data/lib/rubocop/file_finder.rb +1 -3
  376. data/lib/rubocop/formatter/disabled_config_formatter.rb +3 -8
  377. data/lib/rubocop/formatter/git_hub_actions_formatter.rb +1 -5
  378. data/lib/rubocop/formatter/html_formatter.rb +4 -10
  379. data/lib/rubocop/formatter/json_formatter.rb +1 -5
  380. data/lib/rubocop/formatter/junit_formatter.rb +3 -9
  381. data/lib/rubocop/formatter/progress_formatter.rb +1 -3
  382. data/lib/rubocop/options.rb +27 -41
  383. data/lib/rubocop/path_util.rb +1 -3
  384. data/lib/rubocop/rake_task.rb +3 -0
  385. data/lib/rubocop/remote_config.rb +4 -7
  386. data/lib/rubocop/result_cache.rb +5 -12
  387. data/lib/rubocop/rspec/cop_helper.rb +1 -1
  388. data/lib/rubocop/rspec/expect_offense.rb +4 -9
  389. data/lib/rubocop/rspec/shared_contexts.rb +4 -15
  390. data/lib/rubocop/runner.rb +7 -14
  391. data/lib/rubocop/target_finder.rb +11 -16
  392. data/lib/rubocop/target_ruby.rb +4 -8
  393. data/lib/rubocop/version.rb +1 -1
  394. metadata +5 -5
  395. data/lib/rubocop/core_ext/hash.rb +0 -20
@@ -107,8 +107,7 @@ module RuboCop
107
107
  end
108
108
 
109
109
  def trivial_reader?(node)
110
- looks_like_trivial_reader?(node) &&
111
- !allowed_method_name?(node) && !allowed_reader?(node)
110
+ looks_like_trivial_reader?(node) && !allowed_method_name?(node) && !allowed_reader?(node)
112
111
  end
113
112
 
114
113
  def looks_like_trivial_reader?(node)
@@ -146,8 +145,7 @@ module RuboCop
146
145
  end
147
146
 
148
147
  def trivial_accessor_kind(node)
149
- if trivial_writer?(node) &&
150
- !dsl_writer?(node.method_name)
148
+ if trivial_writer?(node) && !dsl_writer?(node.method_name)
151
149
  'writer'
152
150
  elsif trivial_reader?(node)
153
151
  'reader'
@@ -23,8 +23,7 @@ module RuboCop
23
23
  include RangeHelp
24
24
  extend AutoCorrector
25
25
 
26
- MSG = 'Do not use `unless` with `else`. Rewrite these with the ' \
27
- 'positive case first.'
26
+ MSG = 'Do not use `unless` with `else`. Rewrite these with the positive case first.'
28
27
 
29
28
  def on_if(node)
30
29
  return unless node.unless? && node.else?
@@ -90,14 +90,14 @@ module RuboCop
90
90
  and_sources = node.condition.each_descendant(:and).map(&:operator)
91
91
  and_sources << node.condition.operator if node.condition.and_type?
92
92
 
93
- !(and_sources.all? { |s| s == '&&' } || and_sources.all? { |s| s == 'and' })
93
+ !(and_sources.all?('&&') || and_sources.all?('and'))
94
94
  end
95
95
 
96
96
  def mixed_precedence_or?(node)
97
97
  or_sources = node.condition.each_descendant(:or).map(&:operator)
98
98
  or_sources << node.condition.operator if node.condition.or_type?
99
99
 
100
- !(or_sources.all? { |s| s == '||' } || or_sources.all? { |s| s == 'or' })
100
+ !(or_sources.all?('||') || or_sources.all?('or'))
101
101
  end
102
102
  end
103
103
  end
@@ -20,7 +20,7 @@ module RuboCop
20
20
  extend AutoCorrector
21
21
 
22
22
  MSG = 'Replace interpolated variable `%<variable>s` ' \
23
- 'with expression `#{%<variable>s}`.'
23
+ 'with expression `#{%<variable>s}`.' # rubocop:disable Lint/InterpolationCheck
24
24
 
25
25
  def on_node_with_interpolations(node)
26
26
  var_nodes(node.children).each do |var_node|
@@ -25,9 +25,7 @@ module RuboCop
25
25
  def on_when(node)
26
26
  return if node.multiline? || node.then? || !node.body
27
27
 
28
- add_offense(node.loc.begin) do |corrector|
29
- corrector.replace(node.loc.begin, ' then')
30
- end
28
+ add_offense(node.loc.begin) { |corrector| corrector.replace(node.loc.begin, ' then') }
31
29
  end
32
30
  end
33
31
  end
@@ -37,8 +37,7 @@ module RuboCop
37
37
  include StatementModifier
38
38
  extend AutoCorrector
39
39
 
40
- MSG = 'Favor modifier `%<keyword>s` usage when ' \
41
- 'having a single-line body.'
40
+ MSG = 'Favor modifier `%<keyword>s` usage when having a single-line body.'
42
41
 
43
42
  def on_while(node)
44
43
  return unless single_line_as_modifier?(node)
@@ -56,8 +56,7 @@ module RuboCop
56
56
  def complex_content?(strings)
57
57
  strings.any? do |s|
58
58
  string = s.str_content.dup.force_encoding(::Encoding::UTF_8)
59
- !string.valid_encoding? ||
60
- !word_regex.match?(string) || / /.match?(string)
59
+ !string.valid_encoding? || !word_regex.match?(string) || / /.match?(string)
61
60
  end
62
61
  end
63
62
 
@@ -59,12 +59,7 @@ module RuboCop
59
59
 
60
60
  MSG = 'Reverse the order of the operands `%<source>s`.'
61
61
 
62
- REVERSE_COMPARISON = {
63
- '<' => '>',
64
- '<=' => '>=',
65
- '>' => '<',
66
- '>=' => '<='
67
- }.freeze
62
+ REVERSE_COMPARISON = { '<' => '>', '<=' => '>=', '>' => '<', '>=' => '<=' }.freeze
68
63
 
69
64
  EQUALITY_OPERATORS = %i[== !=].freeze
70
65
 
@@ -100,8 +95,7 @@ module RuboCop
100
95
  end
101
96
 
102
97
  def yoda_compatible_condition?(node)
103
- node.comparison_method? &&
104
- !noncommutative_operator?(node)
98
+ node.comparison_method? && !noncommutative_operator?(node)
105
99
  end
106
100
 
107
101
  def valid_yoda?(node)
@@ -127,9 +121,7 @@ module RuboCop
127
121
  end
128
122
 
129
123
  def actual_code_range(node)
130
- range_between(
131
- node.loc.expression.begin_pos, node.loc.expression.end_pos
132
- )
124
+ range_between(node.loc.expression.begin_pos, node.loc.expression.end_pos)
133
125
  end
134
126
 
135
127
  def reverse_comparison(operator)
@@ -29,8 +29,7 @@ module RuboCop
29
29
  extend AutoCorrector
30
30
 
31
31
  ZERO_MSG = 'Use `empty?` instead of `%<lhs>s %<opr>s %<rhs>s`.'
32
- NONZERO_MSG = 'Use `!empty?` instead of ' \
33
- '`%<lhs>s %<opr>s %<rhs>s`.'
32
+ NONZERO_MSG = 'Use `!empty?` instead of `%<lhs>s %<opr>s %<rhs>s`.'
34
33
 
35
34
  RESTRICT_ON_SEND = %i[size length].freeze
36
35
 
@@ -107,9 +107,7 @@ module RuboCop
107
107
  end
108
108
  end
109
109
 
110
- needed.map do |force_class, joining_cops|
111
- force_class.new(joining_cops)
112
- end
110
+ needed.map { |force_class, joining_cops| force_class.new(joining_cops) }
113
111
  end
114
112
 
115
113
  def external_dependency_checksum
@@ -247,8 +245,7 @@ module RuboCop
247
245
  end
248
246
 
249
247
  def handle_error(error, location, cop)
250
- message = Rainbow("An error occurred while #{cop.name}" \
251
- " cop was inspecting #{location}.").red
248
+ message = Rainbow("An error occurred while #{cop.name} cop was inspecting #{location}.").red
252
249
  @errors << message
253
250
  warn message
254
251
  if debug?
@@ -8,8 +8,7 @@ module RuboCop
8
8
 
9
9
  # Match literal regex characters, not including anchors, character
10
10
  # classes, alternatives, groups, repetitions, references, etc
11
- LITERAL_REGEX =
12
- %r{[\w\s\-,"'!#%&<>=;:`~/]|\\[^AbBdDgGhHkpPRwWXsSzZ0-9]}.freeze
11
+ LITERAL_REGEX = %r{[\w\s\-,"'!#%&<>=;:`~/]|\\[^AbBdDgGhHkpPRwWXsSzZ0-9]}.freeze
13
12
 
14
13
  module_function
15
14
 
@@ -28,8 +27,7 @@ module RuboCop
28
27
  end
29
28
 
30
29
  def parentheses?(node)
31
- node.loc.respond_to?(:end) && node.loc.end &&
32
- node.loc.end.is?(')')
30
+ node.loc.respond_to?(:end) && node.loc.end && node.loc.end.is?(')')
33
31
  end
34
32
 
35
33
  def add_parentheses(node, corrector)
@@ -123,9 +121,7 @@ module RuboCop
123
121
  end
124
122
 
125
123
  def same_line?(node1, node2)
126
- node1.respond_to?(:loc) &&
127
- node2.respond_to?(:loc) &&
128
- node1.loc.line == node2.loc.line
124
+ node1.respond_to?(:loc) && node2.respond_to?(:loc) && node1.loc.line == node2.loc.line
129
125
  end
130
126
 
131
127
  def indent(node)
@@ -133,9 +129,7 @@ module RuboCop
133
129
  end
134
130
 
135
131
  def to_supported_styles(enforced_style)
136
- enforced_style
137
- .sub(/^Enforced/, 'Supported')
138
- .sub('Style', 'Styles')
132
+ enforced_style.sub(/^Enforced/, 'Supported').sub('Style', 'Styles')
139
133
  end
140
134
 
141
135
  private
@@ -72,9 +72,7 @@ module RuboCop
72
72
  end
73
73
 
74
74
  def max_digit_dollar_num
75
- @source.scan(DIGIT_DOLLAR).map do |(digit_dollar_num)|
76
- digit_dollar_num.to_i
77
- end.max
75
+ @source.scan(DIGIT_DOLLAR).map { |(digit_dollar_num)| digit_dollar_num.to_i }.max
78
76
  end
79
77
 
80
78
  def style
@@ -27,8 +27,7 @@ module RuboCop
27
27
  class VariableForce < Force # rubocop:disable Metrics/ClassLength
28
28
  VARIABLE_ASSIGNMENT_TYPE = :lvasgn
29
29
  REGEXP_NAMED_CAPTURE_TYPE = :match_with_lvasgn
30
- VARIABLE_ASSIGNMENT_TYPES =
31
- [VARIABLE_ASSIGNMENT_TYPE, REGEXP_NAMED_CAPTURE_TYPE].freeze
30
+ VARIABLE_ASSIGNMENT_TYPES = [VARIABLE_ASSIGNMENT_TYPE, REGEXP_NAMED_CAPTURE_TYPE].freeze
32
31
 
33
32
  ARGUMENT_DECLARATION_TYPES = [
34
33
  :arg, :optarg, :restarg,
@@ -38,8 +37,7 @@ module RuboCop
38
37
  ].freeze
39
38
 
40
39
  LOGICAL_OPERATOR_ASSIGNMENT_TYPES = %i[or_asgn and_asgn].freeze
41
- OPERATOR_ASSIGNMENT_TYPES =
42
- (LOGICAL_OPERATOR_ASSIGNMENT_TYPES + [:op_asgn]).freeze
40
+ OPERATOR_ASSIGNMENT_TYPES = (LOGICAL_OPERATOR_ASSIGNMENT_TYPES + [:op_asgn]).freeze
43
41
 
44
42
  MULTIPLE_ASSIGNMENT_TYPE = :masgn
45
43
 
@@ -182,9 +180,7 @@ module RuboCop
182
180
  process_node(rhs_node)
183
181
  process_node(regexp_node)
184
182
 
185
- variable_names.each do |name|
186
- variable_table.assign_to_variable(name, node)
187
- end
183
+ variable_names.each { |name| variable_table.assign_to_variable(name, node) }
188
184
 
189
185
  skip_children!
190
186
  end
@@ -304,17 +300,14 @@ module RuboCop
304
300
  return unless method_name == :binding
305
301
  return if args && !args.children.empty?
306
302
 
307
- variable_table.accessible_variables.each do |variable|
308
- variable.reference!(node)
309
- end
303
+ variable_table.accessible_variables.each { |variable| variable.reference!(node) }
310
304
  end
311
305
 
312
306
  # Mark all assignments which are referenced in the same loop
313
307
  # as referenced by ignoring AST order since they would be referenced
314
308
  # in next iteration.
315
309
  def mark_assignments_as_referenced_in_loop(node)
316
- referenced_variable_names_in_loop, assignment_nodes_in_loop =
317
- find_variables_in_loop(node)
310
+ referenced_variable_names_in_loop, assignment_nodes_in_loop = find_variables_in_loop(node)
318
311
 
319
312
  referenced_variable_names_in_loop.each do |name|
320
313
  variable = variable_table.find_variable(name)
@@ -371,9 +364,7 @@ module RuboCop
371
364
 
372
365
  # Use Node#equal? for accurate check.
373
366
  def scanned_node?(node)
374
- scanned_nodes.any? do |scanned_node|
375
- scanned_node.equal?(node)
376
- end
367
+ scanned_nodes.any? { |scanned_node| scanned_node.equal?(node) }
377
368
  end
378
369
 
379
370
  def scanned_nodes
@@ -66,8 +66,7 @@ module RuboCop
66
66
 
67
67
  def meta_assignment_node
68
68
  unless instance_variable_defined?(:@meta_assignment_node)
69
- @meta_assignment_node =
70
- operator_assignment_node || multiple_assignment_node
69
+ @meta_assignment_node = operator_assignment_node || multiple_assignment_node
71
70
  end
72
71
 
73
72
  @meta_assignment_node
@@ -121,8 +121,7 @@ module RuboCop
121
121
  def ==(other)
122
122
  return false unless other
123
123
 
124
- control_node.equal?(other.control_node) &&
125
- child_node.equal?(other.child_node)
124
+ control_node.equal?(other.control_node) && child_node.equal?(other.child_node)
126
125
  end
127
126
 
128
127
  alias_method :eql?, :==
@@ -8,9 +8,7 @@ module RuboCop
8
8
  include Branchable
9
9
 
10
10
  VARIABLE_REFERENCE_TYPES = (
11
- [VARIABLE_REFERENCE_TYPE] +
12
- OPERATOR_ASSIGNMENT_TYPES +
13
- [ZERO_ARITY_SUPER_TYPE, SEND_TYPE]
11
+ [VARIABLE_REFERENCE_TYPE] + OPERATOR_ASSIGNMENT_TYPES + [ZERO_ARITY_SUPER_TYPE, SEND_TYPE]
14
12
  ).freeze
15
13
 
16
14
  attr_reader :node, :scope
@@ -23,10 +23,9 @@ module RuboCop
23
23
  unless SCOPE_TYPES.include?(node.type)
24
24
  # Accept any node type for top level scope
25
25
  if node.parent
26
- raise ArgumentError,
27
- "Node type must be any of #{SCOPE_TYPES}, " \
28
- "passed #{node.type}"
26
+ raise ArgumentError, "Node type must be any of #{SCOPE_TYPES}, passed #{node.type}"
29
27
  end
28
+
30
29
  @naked_top_level = true
31
30
  end
32
31
  @node = node
@@ -56,8 +55,7 @@ module RuboCop
56
55
  end
57
56
 
58
57
  def include?(target_node)
59
- !belong_to_outer_scope?(target_node) &&
60
- !belong_to_inner_scope?(target_node)
58
+ !belong_to_outer_scope?(target_node) && !belong_to_inner_scope?(target_node)
61
59
  end
62
60
 
63
61
  def each_node(&block)
@@ -100,9 +98,7 @@ module RuboCop
100
98
  end
101
99
 
102
100
  def ancestor_node?(target_node)
103
- node.each_ancestor.any? do |ancestor_node|
104
- ancestor_node.equal?(target_node)
105
- end
101
+ node.each_ancestor.any? { |ancestor_node| ancestor_node.equal?(target_node) }
106
102
  end
107
103
  end
108
104
  end
@@ -6,11 +6,9 @@ module RuboCop
6
6
  # A Variable represents existence of a local variable.
7
7
  # This holds a variable declaration node and some states of the variable.
8
8
  class Variable
9
- VARIABLE_DECLARATION_TYPES =
10
- (VARIABLE_ASSIGNMENT_TYPES + ARGUMENT_DECLARATION_TYPES).freeze
9
+ VARIABLE_DECLARATION_TYPES = (VARIABLE_ASSIGNMENT_TYPES + ARGUMENT_DECLARATION_TYPES).freeze
11
10
 
12
- attr_reader :name, :declaration_node, :scope,
13
- :assignments, :references, :captured_by_block
11
+ attr_reader :name, :declaration_node, :scope, :assignments, :references, :captured_by_block
14
12
 
15
13
  alias captured_by_block? captured_by_block
16
14
 
@@ -18,9 +18,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
18
18
 
19
19
  def call
20
20
  YARD::Registry.load!
21
- departments.each do |department|
22
- print_cops_of_department(department)
23
- end
21
+ departments.each { |department| print_cops_of_department(department) }
24
22
 
25
23
  print_table_of_contents
26
24
  ensure
@@ -105,8 +103,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
105
103
 
106
104
  def code_example(ruby_code)
107
105
  content = +"[source,ruby]\n----\n"
108
- content << ruby_code.text.gsub('@good', '# good')
109
- .gsub('@bad', '# bad').strip
106
+ content << ruby_code.text.gsub('@good', '# good').gsub('@bad', '# bad').strip
110
107
  content << "\n----\n"
111
108
  content
112
109
  end
@@ -158,10 +155,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
158
155
  # rubocop:enable Metrics/CyclomaticComplexity,Metrics/MethodLength
159
156
 
160
157
  def to_table(header, content)
161
- table = [
162
- '|===',
163
- "| #{header.join(' | ')}\n\n"
164
- ].join("\n")
158
+ table = ['|===', "| #{header.join(' | ')}\n\n"].join("\n")
165
159
  marked_contents = content.map do |plain_content|
166
160
  plain_content.map { |c| "| #{c}" }.join("\n")
167
161
  end
@@ -195,9 +189,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
195
189
 
196
190
  def references(cop)
197
191
  cop_config = config.for_cop(cop)
198
- urls = RuboCop::Cop::MessageAnnotator.new(
199
- config, cop.name, cop_config, {}
200
- ).urls
192
+ urls = RuboCop::Cop::MessageAnnotator.new(config, cop.name, cop_config, {}).urls
201
193
  return '' if urls.empty?
202
194
 
203
195
  content = h3('References')
@@ -209,9 +201,7 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
209
201
  def print_cops_of_department(department)
210
202
  selected_cops = cops_of_department(department)
211
203
  content = +"= #{department}\n"
212
- selected_cops.each do |cop|
213
- content << print_cop_with_doc(cop)
214
- end
204
+ selected_cops.each { |cop| content << print_cop_with_doc(cop) }
215
205
  file_name = "#{Dir.pwd}/docs/modules/ROOT/pages/#{department_to_basename(department)}.adoc"
216
206
  File.open(file_name, 'w') do |file|
217
207
  puts "* generated #{file_name}"
@@ -264,16 +254,12 @@ class CopsDocumentationGenerator # rubocop:disable Metrics/ClassLength
264
254
 
265
255
  content << "\n// END_COP_LIST"
266
256
 
267
- content = original.sub(
268
- %r{// START_COP_LIST.+// END_COP_LIST}m, content
269
- )
257
+ content = original.sub(%r{// START_COP_LIST.+// END_COP_LIST}m, content)
270
258
  File.write(path, content)
271
259
  end
272
260
 
273
261
  def table_contents
274
- departments
275
- .map { |department| table_of_content_for_department(department) }
276
- .join("\n")
262
+ departments.map { |department| table_of_content_for_department(department) }.join("\n")
277
263
  end
278
264
 
279
265
  def cop_status(status)
@@ -23,9 +23,7 @@ module RuboCop
23
23
 
24
24
  def find_last_file_upwards(filename, start_dir, stop_dir = nil)
25
25
  last_file = nil
26
- traverse_files_upwards(filename, start_dir, stop_dir) do |file|
27
- last_file = file
28
- end
26
+ traverse_files_upwards(filename, start_dir, stop_dir) { |file| last_file = file }
29
27
  last_file
30
28
  end
31
29
 
@@ -71,9 +71,7 @@ module RuboCop
71
71
  command += ' --auto-gen-only-exclude' if @options[:auto_gen_only_exclude]
72
72
 
73
73
  if @exclude_limit_option
74
- command +=
75
- format(' --exclude-limit %<limit>d',
76
- limit: Integer(@exclude_limit_option))
74
+ command += format(' --exclude-limit %<limit>d', limit: Integer(@exclude_limit_option))
77
75
  end
78
76
  command += ' --no-offense-counts' unless show_offense_counts?
79
77
 
@@ -111,8 +109,7 @@ module RuboCop
111
109
 
112
110
  # In case auto_gen_only_exclude is set, only modify the maximum if the
113
111
  # files are not excluded one by one.
114
- if !@options[:auto_gen_only_exclude] ||
115
- @files_with_offenses[cop_name].size > @exclude_limit
112
+ if !@options[:auto_gen_only_exclude] || @files_with_offenses[cop_name].size > @exclude_limit
116
113
  cfg.merge!(cfg[:exclude_limit])
117
114
  end
118
115
 
@@ -144,9 +141,7 @@ module RuboCop
144
141
 
145
142
  def output_cop_param_comments(output_buffer, params, default_cfg)
146
143
  config_params = params.reject { |p| p.start_with?('Supported') }
147
- output_buffer.puts(
148
- "# Configuration parameters: #{config_params.join(', ')}."
149
- )
144
+ output_buffer.puts("# Configuration parameters: #{config_params.join(', ')}.")
150
145
 
151
146
  params.each do |param|
152
147
  value = default_cfg[param]