tiny-smart-sys 0.0.1

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 (931) hide show
  1. checksums.yaml +7 -0
  2. data/rubocop-1.88.2/LICENSE.txt +20 -0
  3. data/rubocop-1.88.2/README.md +255 -0
  4. data/rubocop-1.88.2/assets/logo.png +0 -0
  5. data/rubocop-1.88.2/assets/output.css.erb +159 -0
  6. data/rubocop-1.88.2/assets/output.html.erb +102 -0
  7. data/rubocop-1.88.2/config/default.yml +6244 -0
  8. data/rubocop-1.88.2/config/internal_affairs.yml +31 -0
  9. data/rubocop-1.88.2/config/obsoletion.yml +272 -0
  10. data/rubocop-1.88.2/exe/rubocop +17 -0
  11. data/rubocop-1.88.2/lib/rubocop/arguments_env.rb +17 -0
  12. data/rubocop-1.88.2/lib/rubocop/arguments_file.rb +17 -0
  13. data/rubocop-1.88.2/lib/rubocop/ast_aliases.rb +8 -0
  14. data/rubocop-1.88.2/lib/rubocop/cache_config.rb +58 -0
  15. data/rubocop-1.88.2/lib/rubocop/cached_data.rb +74 -0
  16. data/rubocop-1.88.2/lib/rubocop/cli/command/auto_generate_config.rb +199 -0
  17. data/rubocop-1.88.2/lib/rubocop/cli/command/base.rb +35 -0
  18. data/rubocop-1.88.2/lib/rubocop/cli/command/execute_runner.rb +105 -0
  19. data/rubocop-1.88.2/lib/rubocop/cli/command/init_dotfile.rb +44 -0
  20. data/rubocop-1.88.2/lib/rubocop/cli/command/list_enabled_cops_for.rb +40 -0
  21. data/rubocop-1.88.2/lib/rubocop/cli/command/lsp.rb +19 -0
  22. data/rubocop-1.88.2/lib/rubocop/cli/command/mcp.rb +19 -0
  23. data/rubocop-1.88.2/lib/rubocop/cli/command/show_cops.rb +96 -0
  24. data/rubocop-1.88.2/lib/rubocop/cli/command/show_docs_url.rb +44 -0
  25. data/rubocop-1.88.2/lib/rubocop/cli/command/suggest_extensions.rb +132 -0
  26. data/rubocop-1.88.2/lib/rubocop/cli/command/version.rb +18 -0
  27. data/rubocop-1.88.2/lib/rubocop/cli/command.rb +22 -0
  28. data/rubocop-1.88.2/lib/rubocop/cli/environment.rb +22 -0
  29. data/rubocop-1.88.2/lib/rubocop/cli.rb +249 -0
  30. data/rubocop-1.88.2/lib/rubocop/comment_config.rb +258 -0
  31. data/rubocop-1.88.2/lib/rubocop/config.rb +404 -0
  32. data/rubocop-1.88.2/lib/rubocop/config_finder.rb +78 -0
  33. data/rubocop-1.88.2/lib/rubocop/config_loader.rb +284 -0
  34. data/rubocop-1.88.2/lib/rubocop/config_loader_resolver.rb +322 -0
  35. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/changed_enforced_styles.rb +33 -0
  36. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/changed_parameter.rb +26 -0
  37. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/cop_rule.rb +33 -0
  38. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/extracted_cop.rb +49 -0
  39. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/parameter_rule.rb +56 -0
  40. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/removed_cop.rb +41 -0
  41. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/renamed_cop.rb +49 -0
  42. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/rule.rb +41 -0
  43. data/rubocop-1.88.2/lib/rubocop/config_obsoletion/split_cop.rb +27 -0
  44. data/rubocop-1.88.2/lib/rubocop/config_obsoletion.rb +155 -0
  45. data/rubocop-1.88.2/lib/rubocop/config_regeneration.rb +33 -0
  46. data/rubocop-1.88.2/lib/rubocop/config_store.rb +77 -0
  47. data/rubocop-1.88.2/lib/rubocop/config_validator.rb +291 -0
  48. data/rubocop-1.88.2/lib/rubocop/cop/autocorrect_logic.rb +164 -0
  49. data/rubocop-1.88.2/lib/rubocop/cop/badge.rb +68 -0
  50. data/rubocop-1.88.2/lib/rubocop/cop/base.rb +573 -0
  51. data/rubocop-1.88.2/lib/rubocop/cop/bundler/duplicated_gem.rb +94 -0
  52. data/rubocop-1.88.2/lib/rubocop/cop/bundler/duplicated_group.rb +127 -0
  53. data/rubocop-1.88.2/lib/rubocop/cop/bundler/gem_comment.rb +173 -0
  54. data/rubocop-1.88.2/lib/rubocop/cop/bundler/gem_filename.rb +102 -0
  55. data/rubocop-1.88.2/lib/rubocop/cop/bundler/gem_version.rb +132 -0
  56. data/rubocop-1.88.2/lib/rubocop/cop/bundler/insecure_protocol_source.rb +85 -0
  57. data/rubocop-1.88.2/lib/rubocop/cop/bundler/ordered_gems.rb +69 -0
  58. data/rubocop-1.88.2/lib/rubocop/cop/commissioner.rb +184 -0
  59. data/rubocop-1.88.2/lib/rubocop/cop/cop.rb +192 -0
  60. data/rubocop-1.88.2/lib/rubocop/cop/corrector.rb +138 -0
  61. data/rubocop-1.88.2/lib/rubocop/cop/correctors/alignment_corrector.rb +144 -0
  62. data/rubocop-1.88.2/lib/rubocop/cop/correctors/condition_corrector.rb +25 -0
  63. data/rubocop-1.88.2/lib/rubocop/cop/correctors/each_to_for_corrector.rb +47 -0
  64. data/rubocop-1.88.2/lib/rubocop/cop/correctors/empty_line_corrector.rb +25 -0
  65. data/rubocop-1.88.2/lib/rubocop/cop/correctors/for_to_each_corrector.rb +71 -0
  66. data/rubocop-1.88.2/lib/rubocop/cop/correctors/if_then_corrector.rb +55 -0
  67. data/rubocop-1.88.2/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +145 -0
  68. data/rubocop-1.88.2/lib/rubocop/cop/correctors/line_break_corrector.rb +66 -0
  69. data/rubocop-1.88.2/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +109 -0
  70. data/rubocop-1.88.2/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +45 -0
  71. data/rubocop-1.88.2/lib/rubocop/cop/correctors/parentheses_corrector.rb +120 -0
  72. data/rubocop-1.88.2/lib/rubocop/cop/correctors/percent_literal_corrector.rb +116 -0
  73. data/rubocop-1.88.2/lib/rubocop/cop/correctors/punctuation_corrector.rb +27 -0
  74. data/rubocop-1.88.2/lib/rubocop/cop/correctors/require_library_corrector.rb +23 -0
  75. data/rubocop-1.88.2/lib/rubocop/cop/correctors/space_corrector.rb +46 -0
  76. data/rubocop-1.88.2/lib/rubocop/cop/correctors/string_literal_corrector.rb +23 -0
  77. data/rubocop-1.88.2/lib/rubocop/cop/correctors/unused_arg_corrector.rb +40 -0
  78. data/rubocop-1.88.2/lib/rubocop/cop/correctors.rb +28 -0
  79. data/rubocop-1.88.2/lib/rubocop/cop/documentation.rb +65 -0
  80. data/rubocop-1.88.2/lib/rubocop/cop/exclude_limit.rb +52 -0
  81. data/rubocop-1.88.2/lib/rubocop/cop/force.rb +55 -0
  82. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/add_runtime_dependency.rb +38 -0
  83. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/attribute_assignment.rb +91 -0
  84. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/dependency_version.rb +152 -0
  85. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +91 -0
  86. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/development_dependencies.rb +107 -0
  87. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/duplicated_assignment.rb +121 -0
  88. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/ordered_dependencies.rb +100 -0
  89. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/require_mfa.rb +162 -0
  90. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/required_ruby_version.rb +129 -0
  91. data/rubocop-1.88.2/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +55 -0
  92. data/rubocop-1.88.2/lib/rubocop/cop/generator/configuration_injector.rb +65 -0
  93. data/rubocop-1.88.2/lib/rubocop/cop/generator/require_file_injector.rb +75 -0
  94. data/rubocop-1.88.2/lib/rubocop/cop/generator.rb +223 -0
  95. data/rubocop-1.88.2/lib/rubocop/cop/ignored_node.rb +36 -0
  96. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/cop_description.rb +118 -0
  97. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/cop_enabled.rb +85 -0
  98. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/create_empty_file.rb +37 -0
  99. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/empty_line_between_expect_offense_and_correction.rb +69 -0
  100. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/example_description.rb +118 -0
  101. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb +111 -0
  102. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb +34 -0
  103. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/itblock_handler.rb +69 -0
  104. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/lambda_or_proc.rb +46 -0
  105. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/location_exists.rb +142 -0
  106. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/location_expression.rb +38 -0
  107. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb +62 -0
  108. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/method_name_end_with.rb +82 -0
  109. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/method_name_equal.rb +49 -0
  110. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_destructuring.rb +44 -0
  111. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_first_or_last_argument.rb +54 -0
  112. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +241 -0
  113. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_processor.rb +63 -0
  114. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_walker.rb +131 -0
  115. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_pattern_groups.rb +233 -0
  116. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_type_group.rb +92 -0
  117. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_type_multiple_predicates.rb +126 -0
  118. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +42 -0
  119. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/numblock_handler.rb +69 -0
  120. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +56 -0
  121. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/on_send_without_on_csend.rb +90 -0
  122. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/operator_keyword.rb +48 -0
  123. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/plugin.rb +33 -0
  124. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb +42 -0
  125. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_context_config_parameter.rb +46 -0
  126. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb +63 -0
  127. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_expect_offense_arguments.rb +34 -0
  128. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb +75 -0
  129. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +53 -0
  130. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +61 -0
  131. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_method_dispatch_node.rb +56 -0
  132. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/redundant_source_range.rb +75 -0
  133. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/single_line_comparison.rb +63 -0
  134. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +146 -0
  135. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/undefined_config.rb +94 -0
  136. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +49 -0
  137. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs/useless_restrict_on_send.rb +60 -0
  138. data/rubocop-1.88.2/lib/rubocop/cop/internal_affairs.rb +41 -0
  139. data/rubocop-1.88.2/lib/rubocop/cop/layout/access_modifier_indentation.rb +104 -0
  140. data/rubocop-1.88.2/lib/rubocop/cop/layout/argument_alignment.rb +151 -0
  141. data/rubocop-1.88.2/lib/rubocop/cop/layout/array_alignment.rb +84 -0
  142. data/rubocop-1.88.2/lib/rubocop/cop/layout/assignment_indentation.rb +57 -0
  143. data/rubocop-1.88.2/lib/rubocop/cop/layout/begin_end_alignment.rb +73 -0
  144. data/rubocop-1.88.2/lib/rubocop/cop/layout/block_alignment.rb +313 -0
  145. data/rubocop-1.88.2/lib/rubocop/cop/layout/block_end_newline.rb +83 -0
  146. data/rubocop-1.88.2/lib/rubocop/cop/layout/case_indentation.rb +221 -0
  147. data/rubocop-1.88.2/lib/rubocop/cop/layout/class_structure.rb +392 -0
  148. data/rubocop-1.88.2/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +123 -0
  149. data/rubocop-1.88.2/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +193 -0
  150. data/rubocop-1.88.2/lib/rubocop/cop/layout/comment_indentation.rb +175 -0
  151. data/rubocop-1.88.2/lib/rubocop/cop/layout/condition_position.rb +70 -0
  152. data/rubocop-1.88.2/lib/rubocop/cop/layout/def_end_alignment.rb +73 -0
  153. data/rubocop-1.88.2/lib/rubocop/cop/layout/dot_position.rb +139 -0
  154. data/rubocop-1.88.2/lib/rubocop/cop/layout/else_alignment.rb +143 -0
  155. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_comment.rb +151 -0
  156. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +233 -0
  157. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +71 -0
  158. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +136 -0
  159. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_line_between_defs.rb +324 -0
  160. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines.rb +73 -0
  161. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_after_module_inclusion.rb +101 -0
  162. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +241 -0
  163. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +82 -0
  164. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +140 -0
  165. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +41 -0
  166. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +51 -0
  167. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +99 -0
  168. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +139 -0
  169. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +64 -0
  170. data/rubocop-1.88.2/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +73 -0
  171. data/rubocop-1.88.2/lib/rubocop/cop/layout/end_alignment.rb +217 -0
  172. data/rubocop-1.88.2/lib/rubocop/cop/layout/end_of_line.rb +92 -0
  173. data/rubocop-1.88.2/lib/rubocop/cop/layout/extra_spacing.rb +185 -0
  174. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_argument_indentation.rb +315 -0
  175. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_array_element_indentation.rb +189 -0
  176. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_array_element_line_break.rb +94 -0
  177. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_hash_element_indentation.rb +239 -0
  178. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_hash_element_line_break.rb +68 -0
  179. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_method_argument_line_break.rb +105 -0
  180. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +75 -0
  181. data/rubocop-1.88.2/lib/rubocop/cop/layout/first_parameter_indentation.rb +101 -0
  182. data/rubocop-1.88.2/lib/rubocop/cop/layout/hash_alignment.rb +395 -0
  183. data/rubocop-1.88.2/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +312 -0
  184. data/rubocop-1.88.2/lib/rubocop/cop/layout/heredoc_indentation.rb +195 -0
  185. data/rubocop-1.88.2/lib/rubocop/cop/layout/indentation_consistency.rb +205 -0
  186. data/rubocop-1.88.2/lib/rubocop/cop/layout/indentation_style.rb +115 -0
  187. data/rubocop-1.88.2/lib/rubocop/cop/layout/indentation_width.rb +533 -0
  188. data/rubocop-1.88.2/lib/rubocop/cop/layout/initial_indentation.rb +55 -0
  189. data/rubocop-1.88.2/lib/rubocop/cop/layout/leading_comment_space.rb +203 -0
  190. data/rubocop-1.88.2/lib/rubocop/cop/layout/leading_empty_lines.rb +48 -0
  191. data/rubocop-1.88.2/lib/rubocop/cop/layout/line_continuation_leading_space.rb +153 -0
  192. data/rubocop-1.88.2/lib/rubocop/cop/layout/line_continuation_spacing.rb +146 -0
  193. data/rubocop-1.88.2/lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb +143 -0
  194. data/rubocop-1.88.2/lib/rubocop/cop/layout/line_length.rb +438 -0
  195. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +115 -0
  196. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +65 -0
  197. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_assignment_layout.rb +124 -0
  198. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_block_layout.rb +164 -0
  199. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +115 -0
  200. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +74 -0
  201. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +112 -0
  202. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +132 -0
  203. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +458 -0
  204. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +128 -0
  205. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb +78 -0
  206. data/rubocop-1.88.2/lib/rubocop/cop/layout/multiline_operation_indentation.rb +130 -0
  207. data/rubocop-1.88.2/lib/rubocop/cop/layout/parameter_alignment.rb +118 -0
  208. data/rubocop-1.88.2/lib/rubocop/cop/layout/redundant_line_break.rb +136 -0
  209. data/rubocop-1.88.2/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +220 -0
  210. data/rubocop-1.88.2/lib/rubocop/cop/layout/single_line_block_chain.rb +69 -0
  211. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_after_colon.rb +49 -0
  212. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_after_comma.rb +32 -0
  213. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_after_method_name.rb +39 -0
  214. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_after_not.rb +39 -0
  215. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_after_semicolon.rb +39 -0
  216. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_around_block_parameters.rb +162 -0
  217. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +89 -0
  218. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_around_keyword.rb +276 -0
  219. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_around_method_call_operator.rb +98 -0
  220. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_around_operators.rb +307 -0
  221. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_before_block_braces.rb +164 -0
  222. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_before_brackets.rb +40 -0
  223. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_before_comma.rb +29 -0
  224. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_before_comment.rb +34 -0
  225. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_before_first_arg.rb +73 -0
  226. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_before_semicolon.rb +24 -0
  227. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_in_lambda_literal.rb +79 -0
  228. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +239 -0
  229. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +46 -0
  230. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_block_braces.rb +268 -0
  231. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +215 -0
  232. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_parens.rb +176 -0
  233. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +94 -0
  234. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_range_literal.rb +54 -0
  235. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +143 -0
  236. data/rubocop-1.88.2/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +63 -0
  237. data/rubocop-1.88.2/lib/rubocop/cop/layout/trailing_empty_lines.rb +113 -0
  238. data/rubocop-1.88.2/lib/rubocop/cop/layout/trailing_whitespace.rb +133 -0
  239. data/rubocop-1.88.2/lib/rubocop/cop/legacy/corrections_proxy.rb +43 -0
  240. data/rubocop-1.88.2/lib/rubocop/cop/legacy/corrector.rb +37 -0
  241. data/rubocop-1.88.2/lib/rubocop/cop/lint/ambiguous_assignment.rb +44 -0
  242. data/rubocop-1.88.2/lib/rubocop/cop/lint/ambiguous_block_association.rb +105 -0
  243. data/rubocop-1.88.2/lib/rubocop/cop/lint/ambiguous_operator.rb +105 -0
  244. data/rubocop-1.88.2/lib/rubocop/cop/lint/ambiguous_operator_precedence.rb +102 -0
  245. data/rubocop-1.88.2/lib/rubocop/cop/lint/ambiguous_range.rb +113 -0
  246. data/rubocop-1.88.2/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +78 -0
  247. data/rubocop-1.88.2/lib/rubocop/cop/lint/array_literal_in_regexp.rb +118 -0
  248. data/rubocop-1.88.2/lib/rubocop/cop/lint/assignment_in_condition.rb +119 -0
  249. data/rubocop-1.88.2/lib/rubocop/cop/lint/big_decimal_new.rb +41 -0
  250. data/rubocop-1.88.2/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +66 -0
  251. data/rubocop-1.88.2/lib/rubocop/cop/lint/boolean_symbol.rb +61 -0
  252. data/rubocop-1.88.2/lib/rubocop/cop/lint/circular_argument_reference.rb +104 -0
  253. data/rubocop-1.88.2/lib/rubocop/cop/lint/constant_definition_in_block.rb +100 -0
  254. data/rubocop-1.88.2/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb +52 -0
  255. data/rubocop-1.88.2/lib/rubocop/cop/lint/constant_reassignment.rb +230 -0
  256. data/rubocop-1.88.2/lib/rubocop/cop/lint/constant_resolution.rb +93 -0
  257. data/rubocop-1.88.2/lib/rubocop/cop/lint/cop_directive_syntax.rb +90 -0
  258. data/rubocop-1.88.2/lib/rubocop/cop/lint/data_define_override.rb +63 -0
  259. data/rubocop-1.88.2/lib/rubocop/cop/lint/debugger.rb +155 -0
  260. data/rubocop-1.88.2/lib/rubocop/cop/lint/deprecated_class_methods.rb +118 -0
  261. data/rubocop-1.88.2/lib/rubocop/cop/lint/deprecated_constants.rb +82 -0
  262. data/rubocop-1.88.2/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +148 -0
  263. data/rubocop-1.88.2/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +110 -0
  264. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_branch.rb +188 -0
  265. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_case_condition.rb +39 -0
  266. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_elsif_condition.rb +39 -0
  267. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_hash_key.rb +33 -0
  268. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_magic_comment.rb +73 -0
  269. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_match_pattern.rb +122 -0
  270. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_methods.rb +445 -0
  271. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +84 -0
  272. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_require.rb +56 -0
  273. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +47 -0
  274. data/rubocop-1.88.2/lib/rubocop/cop/lint/duplicate_set_element.rb +87 -0
  275. data/rubocop-1.88.2/lib/rubocop/cop/lint/each_with_object_argument.rb +40 -0
  276. data/rubocop-1.88.2/lib/rubocop/cop/lint/else_layout.rb +107 -0
  277. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_block.rb +94 -0
  278. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_class.rb +95 -0
  279. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_conditional_body.rb +153 -0
  280. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_ensure.rb +48 -0
  281. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_expression.rb +40 -0
  282. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_file.rb +46 -0
  283. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_in_pattern.rb +71 -0
  284. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_interpolation.rb +42 -0
  285. data/rubocop-1.88.2/lib/rubocop/cop/lint/empty_when.rb +68 -0
  286. data/rubocop-1.88.2/lib/rubocop/cop/lint/ensure_return.rb +69 -0
  287. data/rubocop-1.88.2/lib/rubocop/cop/lint/erb_new_arguments.rb +164 -0
  288. data/rubocop-1.88.2/lib/rubocop/cop/lint/flip_flop.rb +38 -0
  289. data/rubocop-1.88.2/lib/rubocop/cop/lint/float_comparison.rb +137 -0
  290. data/rubocop-1.88.2/lib/rubocop/cop/lint/float_out_of_range.rb +28 -0
  291. data/rubocop-1.88.2/lib/rubocop/cop/lint/format_parameter_mismatch.rb +191 -0
  292. data/rubocop-1.88.2/lib/rubocop/cop/lint/hash_compare_by_identity.rb +48 -0
  293. data/rubocop-1.88.2/lib/rubocop/cop/lint/hash_new_with_keyword_arguments_as_default.rb +55 -0
  294. data/rubocop-1.88.2/lib/rubocop/cop/lint/heredoc_method_call_position.rb +152 -0
  295. data/rubocop-1.88.2/lib/rubocop/cop/lint/identity_comparison.rb +54 -0
  296. data/rubocop-1.88.2/lib/rubocop/cop/lint/implicit_string_concatenation.rb +112 -0
  297. data/rubocop-1.88.2/lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb +85 -0
  298. data/rubocop-1.88.2/lib/rubocop/cop/lint/ineffective_access_modifier.rb +114 -0
  299. data/rubocop-1.88.2/lib/rubocop/cop/lint/inherit_exception.rb +105 -0
  300. data/rubocop-1.88.2/lib/rubocop/cop/lint/interpolation_check.rb +84 -0
  301. data/rubocop-1.88.2/lib/rubocop/cop/lint/it_without_arguments_in_block.rb +50 -0
  302. data/rubocop-1.88.2/lib/rubocop/cop/lint/lambda_without_literal_block.rb +51 -0
  303. data/rubocop-1.88.2/lib/rubocop/cop/lint/literal_as_condition.rb +283 -0
  304. data/rubocop-1.88.2/lib/rubocop/cop/lint/literal_assignment_in_condition.rb +95 -0
  305. data/rubocop-1.88.2/lib/rubocop/cop/lint/literal_in_interpolation.rb +207 -0
  306. data/rubocop-1.88.2/lib/rubocop/cop/lint/loop.rb +80 -0
  307. data/rubocop-1.88.2/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +120 -0
  308. data/rubocop-1.88.2/lib/rubocop/cop/lint/missing_super.rb +159 -0
  309. data/rubocop-1.88.2/lib/rubocop/cop/lint/mixed_case_range.rb +113 -0
  310. data/rubocop-1.88.2/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +37 -0
  311. data/rubocop-1.88.2/lib/rubocop/cop/lint/multiple_comparison.rb +48 -0
  312. data/rubocop-1.88.2/lib/rubocop/cop/lint/nested_method_definition.rb +142 -0
  313. data/rubocop-1.88.2/lib/rubocop/cop/lint/nested_percent_literal.rb +63 -0
  314. data/rubocop-1.88.2/lib/rubocop/cop/lint/next_without_accumulator.rb +53 -0
  315. data/rubocop-1.88.2/lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb +73 -0
  316. data/rubocop-1.88.2/lib/rubocop/cop/lint/non_atomic_file_operation.rb +174 -0
  317. data/rubocop-1.88.2/lib/rubocop/cop/lint/non_deterministic_require_order.rb +185 -0
  318. data/rubocop-1.88.2/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +86 -0
  319. data/rubocop-1.88.2/lib/rubocop/cop/lint/number_conversion.rb +209 -0
  320. data/rubocop-1.88.2/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +46 -0
  321. data/rubocop-1.88.2/lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb +104 -0
  322. data/rubocop-1.88.2/lib/rubocop/cop/lint/or_assignment_to_constant.rb +41 -0
  323. data/rubocop-1.88.2/lib/rubocop/cop/lint/ordered_magic_comments.rb +81 -0
  324. data/rubocop-1.88.2/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +129 -0
  325. data/rubocop-1.88.2/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +77 -0
  326. data/rubocop-1.88.2/lib/rubocop/cop/lint/percent_string_array.rb +74 -0
  327. data/rubocop-1.88.2/lib/rubocop/cop/lint/percent_symbol_array.rb +64 -0
  328. data/rubocop-1.88.2/lib/rubocop/cop/lint/raise_exception.rb +110 -0
  329. data/rubocop-1.88.2/lib/rubocop/cop/lint/rand_one.rb +42 -0
  330. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +347 -0
  331. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +129 -0
  332. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_dir_glob_sort.rb +73 -0
  333. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb +130 -0
  334. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_require_statement.rb +80 -0
  335. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_safe_navigation.rb +283 -0
  336. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_splat_expansion.rb +220 -0
  337. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_string_coercion.rb +68 -0
  338. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_type_conversion.rb +268 -0
  339. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_with_index.rb +87 -0
  340. data/rubocop-1.88.2/lib/rubocop/cop/lint/redundant_with_object.rb +87 -0
  341. data/rubocop-1.88.2/lib/rubocop/cop/lint/refinement_import_methods.rb +59 -0
  342. data/rubocop-1.88.2/lib/rubocop/cop/lint/regexp_as_condition.rb +44 -0
  343. data/rubocop-1.88.2/lib/rubocop/cop/lint/require_parentheses.rb +71 -0
  344. data/rubocop-1.88.2/lib/rubocop/cop/lint/require_range_parentheses.rb +58 -0
  345. data/rubocop-1.88.2/lib/rubocop/cop/lint/require_relative_self_path.rb +52 -0
  346. data/rubocop-1.88.2/lib/rubocop/cop/lint/rescue_exception.rb +38 -0
  347. data/rubocop-1.88.2/lib/rubocop/cop/lint/rescue_type.rb +82 -0
  348. data/rubocop-1.88.2/lib/rubocop/cop/lint/return_in_void_context.rb +55 -0
  349. data/rubocop-1.88.2/lib/rubocop/cop/lint/safe_navigation_chain.rb +134 -0
  350. data/rubocop-1.88.2/lib/rubocop/cop/lint/safe_navigation_consistency.rb +166 -0
  351. data/rubocop-1.88.2/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +46 -0
  352. data/rubocop-1.88.2/lib/rubocop/cop/lint/script_permission.rb +77 -0
  353. data/rubocop-1.88.2/lib/rubocop/cop/lint/self_assignment.rb +171 -0
  354. data/rubocop-1.88.2/lib/rubocop/cop/lint/send_with_mixin_argument.rb +83 -0
  355. data/rubocop-1.88.2/lib/rubocop/cop/lint/shadowed_argument.rb +177 -0
  356. data/rubocop-1.88.2/lib/rubocop/cop/lint/shadowed_exception.rb +165 -0
  357. data/rubocop-1.88.2/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +130 -0
  358. data/rubocop-1.88.2/lib/rubocop/cop/lint/shared_mutable_default.rb +78 -0
  359. data/rubocop-1.88.2/lib/rubocop/cop/lint/struct_new_override.rb +75 -0
  360. data/rubocop-1.88.2/lib/rubocop/cop/lint/suppressed_exception.rb +132 -0
  361. data/rubocop-1.88.2/lib/rubocop/cop/lint/suppressed_exception_in_number_conversion.rb +123 -0
  362. data/rubocop-1.88.2/lib/rubocop/cop/lint/symbol_conversion.rb +201 -0
  363. data/rubocop-1.88.2/lib/rubocop/cop/lint/syntax.rb +73 -0
  364. data/rubocop-1.88.2/lib/rubocop/cop/lint/to_enum_arguments.rb +132 -0
  365. data/rubocop-1.88.2/lib/rubocop/cop/lint/to_json.rb +52 -0
  366. data/rubocop-1.88.2/lib/rubocop/cop/lint/top_level_return_with_argument.rb +48 -0
  367. data/rubocop-1.88.2/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +59 -0
  368. data/rubocop-1.88.2/lib/rubocop/cop/lint/triple_quotes.rb +71 -0
  369. data/rubocop-1.88.2/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +80 -0
  370. data/rubocop-1.88.2/lib/rubocop/cop/lint/unescaped_bracket_in_regexp.rb +114 -0
  371. data/rubocop-1.88.2/lib/rubocop/cop/lint/unexpected_block_arity.rb +92 -0
  372. data/rubocop-1.88.2/lib/rubocop/cop/lint/unified_integer.rb +40 -0
  373. data/rubocop-1.88.2/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +206 -0
  374. data/rubocop-1.88.2/lib/rubocop/cop/lint/unreachable_code.rb +151 -0
  375. data/rubocop-1.88.2/lib/rubocop/cop/lint/unreachable_loop.rb +208 -0
  376. data/rubocop-1.88.2/lib/rubocop/cop/lint/unreachable_pattern_branch.rb +113 -0
  377. data/rubocop-1.88.2/lib/rubocop/cop/lint/unused_block_argument.rb +172 -0
  378. data/rubocop-1.88.2/lib/rubocop/cop/lint/unused_method_argument.rb +147 -0
  379. data/rubocop-1.88.2/lib/rubocop/cop/lint/uri_escape_unescape.rb +81 -0
  380. data/rubocop-1.88.2/lib/rubocop/cop/lint/uri_regexp.rb +56 -0
  381. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_access_modifier.rb +321 -0
  382. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_assignment.rb +242 -0
  383. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_constant_scoping.rb +71 -0
  384. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_default_value_argument.rb +92 -0
  385. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_defined.rb +55 -0
  386. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_else_without_rescue.rb +44 -0
  387. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_method_definition.rb +77 -0
  388. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_numeric_operation.rb +79 -0
  389. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_or.rb +111 -0
  390. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_rescue.rb +89 -0
  391. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_ruby2_keywords.rb +131 -0
  392. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_setter_call.rb +161 -0
  393. data/rubocop-1.88.2/lib/rubocop/cop/lint/useless_times.rb +135 -0
  394. data/rubocop-1.88.2/lib/rubocop/cop/lint/utils/nil_receiver_checker.rb +147 -0
  395. data/rubocop-1.88.2/lib/rubocop/cop/lint/void.rb +299 -0
  396. data/rubocop-1.88.2/lib/rubocop/cop/message_annotator.rb +134 -0
  397. data/rubocop-1.88.2/lib/rubocop/cop/metrics/abc_size.rb +56 -0
  398. data/rubocop-1.88.2/lib/rubocop/cop/metrics/block_length.rb +88 -0
  399. data/rubocop-1.88.2/lib/rubocop/cop/metrics/block_nesting.rb +95 -0
  400. data/rubocop-1.88.2/lib/rubocop/cop/metrics/class_length.rb +77 -0
  401. data/rubocop-1.88.2/lib/rubocop/cop/metrics/collection_literal_length.rb +83 -0
  402. data/rubocop-1.88.2/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +58 -0
  403. data/rubocop-1.88.2/lib/rubocop/cop/metrics/method_length.rb +80 -0
  404. data/rubocop-1.88.2/lib/rubocop/cop/metrics/module_length.rb +62 -0
  405. data/rubocop-1.88.2/lib/rubocop/cop/metrics/parameter_lists.rb +147 -0
  406. data/rubocop-1.88.2/lib/rubocop/cop/metrics/perceived_complexity.rb +90 -0
  407. data/rubocop-1.88.2/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +141 -0
  408. data/rubocop-1.88.2/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +209 -0
  409. data/rubocop-1.88.2/lib/rubocop/cop/metrics/utils/iterating_block.rb +61 -0
  410. data/rubocop-1.88.2/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +143 -0
  411. data/rubocop-1.88.2/lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb +42 -0
  412. data/rubocop-1.88.2/lib/rubocop/cop/migration/department_name.rb +92 -0
  413. data/rubocop-1.88.2/lib/rubocop/cop/mixin/alignment.rb +85 -0
  414. data/rubocop-1.88.2/lib/rubocop/cop/mixin/allowed_identifiers.rb +18 -0
  415. data/rubocop-1.88.2/lib/rubocop/cop/mixin/allowed_methods.rb +48 -0
  416. data/rubocop-1.88.2/lib/rubocop/cop/mixin/allowed_pattern.rb +72 -0
  417. data/rubocop-1.88.2/lib/rubocop/cop/mixin/allowed_receivers.rb +34 -0
  418. data/rubocop-1.88.2/lib/rubocop/cop/mixin/annotation_comment.rb +70 -0
  419. data/rubocop-1.88.2/lib/rubocop/cop/mixin/array_min_size.rb +57 -0
  420. data/rubocop-1.88.2/lib/rubocop/cop/mixin/array_syntax.rb +17 -0
  421. data/rubocop-1.88.2/lib/rubocop/cop/mixin/auto_corrector.rb +12 -0
  422. data/rubocop-1.88.2/lib/rubocop/cop/mixin/check_assignment.rb +36 -0
  423. data/rubocop-1.88.2/lib/rubocop/cop/mixin/check_line_breakable.rb +237 -0
  424. data/rubocop-1.88.2/lib/rubocop/cop/mixin/check_single_line_suitability.rb +47 -0
  425. data/rubocop-1.88.2/lib/rubocop/cop/mixin/code_length.rb +70 -0
  426. data/rubocop-1.88.2/lib/rubocop/cop/mixin/comments_help.rb +95 -0
  427. data/rubocop-1.88.2/lib/rubocop/cop/mixin/configurable_enforced_style.rb +112 -0
  428. data/rubocop-1.88.2/lib/rubocop/cop/mixin/configurable_formatting.rb +41 -0
  429. data/rubocop-1.88.2/lib/rubocop/cop/mixin/configurable_max.rb +29 -0
  430. data/rubocop-1.88.2/lib/rubocop/cop/mixin/configurable_naming.rb +16 -0
  431. data/rubocop-1.88.2/lib/rubocop/cop/mixin/configurable_numbering.rb +18 -0
  432. data/rubocop-1.88.2/lib/rubocop/cop/mixin/def_node.rb +26 -0
  433. data/rubocop-1.88.2/lib/rubocop/cop/mixin/dig_help.rb +27 -0
  434. data/rubocop-1.88.2/lib/rubocop/cop/mixin/documentation_comment.rb +52 -0
  435. data/rubocop-1.88.2/lib/rubocop/cop/mixin/duplication.rb +46 -0
  436. data/rubocop-1.88.2/lib/rubocop/cop/mixin/empty_lines_around_body.rb +172 -0
  437. data/rubocop-1.88.2/lib/rubocop/cop/mixin/empty_parameter.rb +25 -0
  438. data/rubocop-1.88.2/lib/rubocop/cop/mixin/end_keyword_alignment.rb +74 -0
  439. data/rubocop-1.88.2/lib/rubocop/cop/mixin/endless_method_rewriter.rb +24 -0
  440. data/rubocop-1.88.2/lib/rubocop/cop/mixin/enforce_superclass.rb +44 -0
  441. data/rubocop-1.88.2/lib/rubocop/cop/mixin/first_element_line_break.rb +50 -0
  442. data/rubocop-1.88.2/lib/rubocop/cop/mixin/forbidden_identifiers.rb +20 -0
  443. data/rubocop-1.88.2/lib/rubocop/cop/mixin/forbidden_pattern.rb +20 -0
  444. data/rubocop-1.88.2/lib/rubocop/cop/mixin/frozen_string_literal.rb +99 -0
  445. data/rubocop-1.88.2/lib/rubocop/cop/mixin/gem_declaration.rb +13 -0
  446. data/rubocop-1.88.2/lib/rubocop/cop/mixin/gemspec_help.rb +52 -0
  447. data/rubocop-1.88.2/lib/rubocop/cop/mixin/hash_alignment_styles.rb +157 -0
  448. data/rubocop-1.88.2/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +236 -0
  449. data/rubocop-1.88.2/lib/rubocop/cop/mixin/hash_subset.rb +211 -0
  450. data/rubocop-1.88.2/lib/rubocop/cop/mixin/hash_transform_method/autocorrection.rb +63 -0
  451. data/rubocop-1.88.2/lib/rubocop/cop/mixin/hash_transform_method.rb +146 -0
  452. data/rubocop-1.88.2/lib/rubocop/cop/mixin/heredoc.rb +41 -0
  453. data/rubocop-1.88.2/lib/rubocop/cop/mixin/integer_node.rb +14 -0
  454. data/rubocop-1.88.2/lib/rubocop/cop/mixin/interpolation.rb +25 -0
  455. data/rubocop-1.88.2/lib/rubocop/cop/mixin/line_length_help.rb +151 -0
  456. data/rubocop-1.88.2/lib/rubocop/cop/mixin/match_range.rb +23 -0
  457. data/rubocop-1.88.2/lib/rubocop/cop/mixin/method_complexity.rb +84 -0
  458. data/rubocop-1.88.2/lib/rubocop/cop/mixin/method_preference.rb +30 -0
  459. data/rubocop-1.88.2/lib/rubocop/cop/mixin/min_body_length.rb +21 -0
  460. data/rubocop-1.88.2/lib/rubocop/cop/mixin/min_branches_count.rb +40 -0
  461. data/rubocop-1.88.2/lib/rubocop/cop/mixin/multiline_element_indentation.rb +109 -0
  462. data/rubocop-1.88.2/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +32 -0
  463. data/rubocop-1.88.2/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +226 -0
  464. data/rubocop-1.88.2/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +141 -0
  465. data/rubocop-1.88.2/lib/rubocop/cop/mixin/negative_conditional.rb +34 -0
  466. data/rubocop-1.88.2/lib/rubocop/cop/mixin/nil_methods.rb +23 -0
  467. data/rubocop-1.88.2/lib/rubocop/cop/mixin/on_normal_if_unless.rb +14 -0
  468. data/rubocop-1.88.2/lib/rubocop/cop/mixin/ordered_gem_node.rb +66 -0
  469. data/rubocop-1.88.2/lib/rubocop/cop/mixin/parentheses.rb +16 -0
  470. data/rubocop-1.88.2/lib/rubocop/cop/mixin/percent_array.rb +125 -0
  471. data/rubocop-1.88.2/lib/rubocop/cop/mixin/percent_literal.rb +32 -0
  472. data/rubocop-1.88.2/lib/rubocop/cop/mixin/preceding_following_alignment.rb +219 -0
  473. data/rubocop-1.88.2/lib/rubocop/cop/mixin/preferred_delimiters.rb +50 -0
  474. data/rubocop-1.88.2/lib/rubocop/cop/mixin/project_index_help.rb +48 -0
  475. data/rubocop-1.88.2/lib/rubocop/cop/mixin/range_help.rb +160 -0
  476. data/rubocop-1.88.2/lib/rubocop/cop/mixin/rational_literal.rb +19 -0
  477. data/rubocop-1.88.2/lib/rubocop/cop/mixin/require_library.rb +61 -0
  478. data/rubocop-1.88.2/lib/rubocop/cop/mixin/rescue_node.rb +34 -0
  479. data/rubocop-1.88.2/lib/rubocop/cop/mixin/safe_assignment.rb +27 -0
  480. data/rubocop-1.88.2/lib/rubocop/cop/mixin/space_after_punctuation.rb +55 -0
  481. data/rubocop-1.88.2/lib/rubocop/cop/mixin/space_before_punctuation.rb +49 -0
  482. data/rubocop-1.88.2/lib/rubocop/cop/mixin/statement_modifier.rb +109 -0
  483. data/rubocop-1.88.2/lib/rubocop/cop/mixin/string_help.rb +40 -0
  484. data/rubocop-1.88.2/lib/rubocop/cop/mixin/string_literals_help.rb +33 -0
  485. data/rubocop-1.88.2/lib/rubocop/cop/mixin/surrounding_space.rb +134 -0
  486. data/rubocop-1.88.2/lib/rubocop/cop/mixin/symbol_help.rb +13 -0
  487. data/rubocop-1.88.2/lib/rubocop/cop/mixin/target_ruby_version.rb +36 -0
  488. data/rubocop-1.88.2/lib/rubocop/cop/mixin/trailing_body.rb +25 -0
  489. data/rubocop-1.88.2/lib/rubocop/cop/mixin/trailing_comma.rb +228 -0
  490. data/rubocop-1.88.2/lib/rubocop/cop/mixin/uncommunicative_name.rb +104 -0
  491. data/rubocop-1.88.2/lib/rubocop/cop/mixin/unused_argument.rb +29 -0
  492. data/rubocop-1.88.2/lib/rubocop/cop/mixin/visibility_help.rb +72 -0
  493. data/rubocop-1.88.2/lib/rubocop/cop/mixin.rb +86 -0
  494. data/rubocop-1.88.2/lib/rubocop/cop/naming/accessor_method_name.rb +78 -0
  495. data/rubocop-1.88.2/lib/rubocop/cop/naming/ascii_identifiers.rb +90 -0
  496. data/rubocop-1.88.2/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +53 -0
  497. data/rubocop-1.88.2/lib/rubocop/cop/naming/block_forwarding.rb +156 -0
  498. data/rubocop-1.88.2/lib/rubocop/cop/naming/block_parameter_name.rb +49 -0
  499. data/rubocop-1.88.2/lib/rubocop/cop/naming/class_and_module_camel_case.rb +45 -0
  500. data/rubocop-1.88.2/lib/rubocop/cop/naming/constant_name.rb +82 -0
  501. data/rubocop-1.88.2/lib/rubocop/cop/naming/file_name.rb +246 -0
  502. data/rubocop-1.88.2/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +68 -0
  503. data/rubocop-1.88.2/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +57 -0
  504. data/rubocop-1.88.2/lib/rubocop/cop/naming/inclusive_language.rb +303 -0
  505. data/rubocop-1.88.2/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +303 -0
  506. data/rubocop-1.88.2/lib/rubocop/cop/naming/method_name.rb +253 -0
  507. data/rubocop-1.88.2/lib/rubocop/cop/naming/method_parameter_name.rb +58 -0
  508. data/rubocop-1.88.2/lib/rubocop/cop/naming/predicate_method.rb +330 -0
  509. data/rubocop-1.88.2/lib/rubocop/cop/naming/predicate_prefix.rb +204 -0
  510. data/rubocop-1.88.2/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +178 -0
  511. data/rubocop-1.88.2/lib/rubocop/cop/naming/variable_name.rb +112 -0
  512. data/rubocop-1.88.2/lib/rubocop/cop/naming/variable_number.rb +155 -0
  513. data/rubocop-1.88.2/lib/rubocop/cop/offense.rb +254 -0
  514. data/rubocop-1.88.2/lib/rubocop/cop/registry.rb +342 -0
  515. data/rubocop-1.88.2/lib/rubocop/cop/security/compound_hash.rb +108 -0
  516. data/rubocop-1.88.2/lib/rubocop/cop/security/eval.rb +47 -0
  517. data/rubocop-1.88.2/lib/rubocop/cop/security/io_methods.rb +49 -0
  518. data/rubocop-1.88.2/lib/rubocop/cop/security/json_load.rb +69 -0
  519. data/rubocop-1.88.2/lib/rubocop/cop/security/marshal_load.rb +39 -0
  520. data/rubocop-1.88.2/lib/rubocop/cop/security/open.rb +90 -0
  521. data/rubocop-1.88.2/lib/rubocop/cop/security/yaml_load.rb +50 -0
  522. data/rubocop-1.88.2/lib/rubocop/cop/severity.rb +67 -0
  523. data/rubocop-1.88.2/lib/rubocop/cop/style/access_modifier_declarations.rb +376 -0
  524. data/rubocop-1.88.2/lib/rubocop/cop/style/accessor_grouping.rb +226 -0
  525. data/rubocop-1.88.2/lib/rubocop/cop/style/alias.rb +170 -0
  526. data/rubocop-1.88.2/lib/rubocop/cop/style/ambiguous_endless_method_definition.rb +79 -0
  527. data/rubocop-1.88.2/lib/rubocop/cop/style/and_or.rb +159 -0
  528. data/rubocop-1.88.2/lib/rubocop/cop/style/arguments_forwarding.rb +582 -0
  529. data/rubocop-1.88.2/lib/rubocop/cop/style/array_coercion.rb +87 -0
  530. data/rubocop-1.88.2/lib/rubocop/cop/style/array_first_last.rb +91 -0
  531. data/rubocop-1.88.2/lib/rubocop/cop/style/array_intersect.rb +199 -0
  532. data/rubocop-1.88.2/lib/rubocop/cop/style/array_intersect_with_single_element.rb +50 -0
  533. data/rubocop-1.88.2/lib/rubocop/cop/style/array_join.rb +41 -0
  534. data/rubocop-1.88.2/lib/rubocop/cop/style/ascii_comments.rb +60 -0
  535. data/rubocop-1.88.2/lib/rubocop/cop/style/attr.rb +83 -0
  536. data/rubocop-1.88.2/lib/rubocop/cop/style/auto_resource_cleanup.rb +55 -0
  537. data/rubocop-1.88.2/lib/rubocop/cop/style/bare_percent_literals.rb +77 -0
  538. data/rubocop-1.88.2/lib/rubocop/cop/style/begin_block.rb +23 -0
  539. data/rubocop-1.88.2/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +60 -0
  540. data/rubocop-1.88.2/lib/rubocop/cop/style/bisected_attr_accessor.rb +125 -0
  541. data/rubocop-1.88.2/lib/rubocop/cop/style/bitwise_predicate.rb +107 -0
  542. data/rubocop-1.88.2/lib/rubocop/cop/style/block_comments.rb +66 -0
  543. data/rubocop-1.88.2/lib/rubocop/cop/style/block_delimiters.rb +510 -0
  544. data/rubocop-1.88.2/lib/rubocop/cop/style/case_equality.rb +122 -0
  545. data/rubocop-1.88.2/lib/rubocop/cop/style/case_like_if.rb +277 -0
  546. data/rubocop-1.88.2/lib/rubocop/cop/style/character_literal.rb +57 -0
  547. data/rubocop-1.88.2/lib/rubocop/cop/style/class_and_module_children.rb +244 -0
  548. data/rubocop-1.88.2/lib/rubocop/cop/style/class_check.rb +55 -0
  549. data/rubocop-1.88.2/lib/rubocop/cop/style/class_equality_comparison.rb +142 -0
  550. data/rubocop-1.88.2/lib/rubocop/cop/style/class_methods.rb +54 -0
  551. data/rubocop-1.88.2/lib/rubocop/cop/style/class_methods_definitions.rb +164 -0
  552. data/rubocop-1.88.2/lib/rubocop/cop/style/class_vars.rb +64 -0
  553. data/rubocop-1.88.2/lib/rubocop/cop/style/collection_compact.rb +163 -0
  554. data/rubocop-1.88.2/lib/rubocop/cop/style/collection_methods.rb +93 -0
  555. data/rubocop-1.88.2/lib/rubocop/cop/style/collection_querying.rb +167 -0
  556. data/rubocop-1.88.2/lib/rubocop/cop/style/colon_method_call.rb +55 -0
  557. data/rubocop-1.88.2/lib/rubocop/cop/style/colon_method_definition.rb +37 -0
  558. data/rubocop-1.88.2/lib/rubocop/cop/style/combinable_defined.rb +115 -0
  559. data/rubocop-1.88.2/lib/rubocop/cop/style/combinable_loops.rb +136 -0
  560. data/rubocop-1.88.2/lib/rubocop/cop/style/command_literal.rb +181 -0
  561. data/rubocop-1.88.2/lib/rubocop/cop/style/comment_annotation.rb +130 -0
  562. data/rubocop-1.88.2/lib/rubocop/cop/style/commented_keyword.rb +118 -0
  563. data/rubocop-1.88.2/lib/rubocop/cop/style/comparable_between.rb +78 -0
  564. data/rubocop-1.88.2/lib/rubocop/cop/style/comparable_clamp.rb +136 -0
  565. data/rubocop-1.88.2/lib/rubocop/cop/style/concat_array_literals.rb +101 -0
  566. data/rubocop-1.88.2/lib/rubocop/cop/style/conditional_assignment.rb +671 -0
  567. data/rubocop-1.88.2/lib/rubocop/cop/style/constant_visibility.rb +105 -0
  568. data/rubocop-1.88.2/lib/rubocop/cop/style/copyright.rb +120 -0
  569. data/rubocop-1.88.2/lib/rubocop/cop/style/data_inheritance.rb +86 -0
  570. data/rubocop-1.88.2/lib/rubocop/cop/style/date_time.rb +94 -0
  571. data/rubocop-1.88.2/lib/rubocop/cop/style/def_with_parentheses.rb +74 -0
  572. data/rubocop-1.88.2/lib/rubocop/cop/style/dig_chain.rb +94 -0
  573. data/rubocop-1.88.2/lib/rubocop/cop/style/dir.rb +50 -0
  574. data/rubocop-1.88.2/lib/rubocop/cop/style/dir_empty.rb +58 -0
  575. data/rubocop-1.88.2/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +87 -0
  576. data/rubocop-1.88.2/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +174 -0
  577. data/rubocop-1.88.2/lib/rubocop/cop/style/documentation.rb +198 -0
  578. data/rubocop-1.88.2/lib/rubocop/cop/style/documentation_method.rb +156 -0
  579. data/rubocop-1.88.2/lib/rubocop/cop/style/double_cop_disable_directive.rb +46 -0
  580. data/rubocop-1.88.2/lib/rubocop/cop/style/double_negation.rb +159 -0
  581. data/rubocop-1.88.2/lib/rubocop/cop/style/each_for_simple_loop.rb +86 -0
  582. data/rubocop-1.88.2/lib/rubocop/cop/style/each_with_object.rb +140 -0
  583. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_block_parameter.rb +47 -0
  584. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_case_condition.rb +127 -0
  585. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_class_definition.rb +126 -0
  586. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_else.rb +207 -0
  587. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_heredoc.rb +64 -0
  588. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_lambda_parameter.rb +44 -0
  589. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_literal.rb +156 -0
  590. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_method.rb +113 -0
  591. data/rubocop-1.88.2/lib/rubocop/cop/style/empty_string_inside_interpolation.rb +110 -0
  592. data/rubocop-1.88.2/lib/rubocop/cop/style/encoding.rb +69 -0
  593. data/rubocop-1.88.2/lib/rubocop/cop/style/end_block.rb +30 -0
  594. data/rubocop-1.88.2/lib/rubocop/cop/style/endless_method.rb +251 -0
  595. data/rubocop-1.88.2/lib/rubocop/cop/style/env_home.rb +60 -0
  596. data/rubocop-1.88.2/lib/rubocop/cop/style/eval_with_location.rb +229 -0
  597. data/rubocop-1.88.2/lib/rubocop/cop/style/even_odd.rb +66 -0
  598. data/rubocop-1.88.2/lib/rubocop/cop/style/exact_regexp_match.rb +76 -0
  599. data/rubocop-1.88.2/lib/rubocop/cop/style/expand_path_arguments.rb +191 -0
  600. data/rubocop-1.88.2/lib/rubocop/cop/style/explicit_block_argument.rb +166 -0
  601. data/rubocop-1.88.2/lib/rubocop/cop/style/exponential_notation.rb +117 -0
  602. data/rubocop-1.88.2/lib/rubocop/cop/style/fetch_env_var.rb +159 -0
  603. data/rubocop-1.88.2/lib/rubocop/cop/style/file_empty.rb +71 -0
  604. data/rubocop-1.88.2/lib/rubocop/cop/style/file_null.rb +91 -0
  605. data/rubocop-1.88.2/lib/rubocop/cop/style/file_open.rb +84 -0
  606. data/rubocop-1.88.2/lib/rubocop/cop/style/file_read.rb +109 -0
  607. data/rubocop-1.88.2/lib/rubocop/cop/style/file_touch.rb +75 -0
  608. data/rubocop-1.88.2/lib/rubocop/cop/style/file_write.rb +138 -0
  609. data/rubocop-1.88.2/lib/rubocop/cop/style/float_division.rb +169 -0
  610. data/rubocop-1.88.2/lib/rubocop/cop/style/for.rb +93 -0
  611. data/rubocop-1.88.2/lib/rubocop/cop/style/format_string.rb +167 -0
  612. data/rubocop-1.88.2/lib/rubocop/cop/style/format_string_token.rb +299 -0
  613. data/rubocop-1.88.2/lib/rubocop/cop/style/frozen_string_literal_comment.rb +221 -0
  614. data/rubocop-1.88.2/lib/rubocop/cop/style/global_std_stream.rb +79 -0
  615. data/rubocop-1.88.2/lib/rubocop/cop/style/global_vars.rb +81 -0
  616. data/rubocop-1.88.2/lib/rubocop/cop/style/guard_clause.rb +324 -0
  617. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_as_last_array_item.rb +118 -0
  618. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_conversion.rb +159 -0
  619. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_each_methods.rb +221 -0
  620. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_except.rb +80 -0
  621. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_fetch_chain.rb +104 -0
  622. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_like_case.rb +71 -0
  623. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_lookup_method.rb +102 -0
  624. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_slice.rb +96 -0
  625. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_syntax.rb +309 -0
  626. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_transform_keys.rb +105 -0
  627. data/rubocop-1.88.2/lib/rubocop/cop/style/hash_transform_values.rb +103 -0
  628. data/rubocop-1.88.2/lib/rubocop/cop/style/identical_conditional_branches.rb +284 -0
  629. data/rubocop-1.88.2/lib/rubocop/cop/style/if_inside_else.rb +161 -0
  630. data/rubocop-1.88.2/lib/rubocop/cop/style/if_unless_modifier.rb +362 -0
  631. data/rubocop-1.88.2/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +44 -0
  632. data/rubocop-1.88.2/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +166 -0
  633. data/rubocop-1.88.2/lib/rubocop/cop/style/if_with_semicolon.rb +142 -0
  634. data/rubocop-1.88.2/lib/rubocop/cop/style/implicit_runtime_error.rb +34 -0
  635. data/rubocop-1.88.2/lib/rubocop/cop/style/in_pattern_then.rb +60 -0
  636. data/rubocop-1.88.2/lib/rubocop/cop/style/infinite_loop.rb +127 -0
  637. data/rubocop-1.88.2/lib/rubocop/cop/style/inline_comment.rb +37 -0
  638. data/rubocop-1.88.2/lib/rubocop/cop/style/inverse_methods.rb +200 -0
  639. data/rubocop-1.88.2/lib/rubocop/cop/style/invertible_unless_condition.rb +180 -0
  640. data/rubocop-1.88.2/lib/rubocop/cop/style/ip_addresses.rb +74 -0
  641. data/rubocop-1.88.2/lib/rubocop/cop/style/it_assignment.rb +93 -0
  642. data/rubocop-1.88.2/lib/rubocop/cop/style/it_block_parameter.rb +121 -0
  643. data/rubocop-1.88.2/lib/rubocop/cop/style/keyword_arguments_merging.rb +71 -0
  644. data/rubocop-1.88.2/lib/rubocop/cop/style/keyword_parameters_order.rb +85 -0
  645. data/rubocop-1.88.2/lib/rubocop/cop/style/lambda.rb +132 -0
  646. data/rubocop-1.88.2/lib/rubocop/cop/style/lambda_call.rb +90 -0
  647. data/rubocop-1.88.2/lib/rubocop/cop/style/line_end_concatenation.rb +143 -0
  648. data/rubocop-1.88.2/lib/rubocop/cop/style/magic_comment_format.rb +307 -0
  649. data/rubocop-1.88.2/lib/rubocop/cop/style/map_compact_with_conditional_block.rb +179 -0
  650. data/rubocop-1.88.2/lib/rubocop/cop/style/map_into_array.rb +236 -0
  651. data/rubocop-1.88.2/lib/rubocop/cop/style/map_join.rb +123 -0
  652. data/rubocop-1.88.2/lib/rubocop/cop/style/map_to_hash.rb +90 -0
  653. data/rubocop-1.88.2/lib/rubocop/cop/style/map_to_set.rb +63 -0
  654. data/rubocop-1.88.2/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +259 -0
  655. data/rubocop-1.88.2/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +61 -0
  656. data/rubocop-1.88.2/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +277 -0
  657. data/rubocop-1.88.2/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +126 -0
  658. data/rubocop-1.88.2/lib/rubocop/cop/style/method_called_on_do_end_block.rb +55 -0
  659. data/rubocop-1.88.2/lib/rubocop/cop/style/method_def_parentheses.rb +182 -0
  660. data/rubocop-1.88.2/lib/rubocop/cop/style/min_max.rb +64 -0
  661. data/rubocop-1.88.2/lib/rubocop/cop/style/min_max_comparison.rb +94 -0
  662. data/rubocop-1.88.2/lib/rubocop/cop/style/missing_else.rb +185 -0
  663. data/rubocop-1.88.2/lib/rubocop/cop/style/missing_respond_to_missing.rb +85 -0
  664. data/rubocop-1.88.2/lib/rubocop/cop/style/mixin_grouping.rb +135 -0
  665. data/rubocop-1.88.2/lib/rubocop/cop/style/mixin_usage.rb +72 -0
  666. data/rubocop-1.88.2/lib/rubocop/cop/style/module_function.rb +172 -0
  667. data/rubocop-1.88.2/lib/rubocop/cop/style/module_member_existence_check.rb +110 -0
  668. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_block_chain.rb +51 -0
  669. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_if_modifier.rb +58 -0
  670. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_if_then.rb +44 -0
  671. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_in_pattern_then.rb +60 -0
  672. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_memoization.rb +102 -0
  673. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_method_signature.rb +100 -0
  674. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_ternary_operator.rb +102 -0
  675. data/rubocop-1.88.2/lib/rubocop/cop/style/multiline_when_then.rb +60 -0
  676. data/rubocop-1.88.2/lib/rubocop/cop/style/multiple_comparison.rb +164 -0
  677. data/rubocop-1.88.2/lib/rubocop/cop/style/mutable_constant.rb +340 -0
  678. data/rubocop-1.88.2/lib/rubocop/cop/style/negated_if.rb +98 -0
  679. data/rubocop-1.88.2/lib/rubocop/cop/style/negated_if_else_condition.rb +137 -0
  680. data/rubocop-1.88.2/lib/rubocop/cop/style/negated_unless.rb +88 -0
  681. data/rubocop-1.88.2/lib/rubocop/cop/style/negated_while.rb +40 -0
  682. data/rubocop-1.88.2/lib/rubocop/cop/style/negative_array_index.rb +220 -0
  683. data/rubocop-1.88.2/lib/rubocop/cop/style/nested_file_dirname.rb +66 -0
  684. data/rubocop-1.88.2/lib/rubocop/cop/style/nested_modifier.rb +100 -0
  685. data/rubocop-1.88.2/lib/rubocop/cop/style/nested_parenthesized_calls.rb +79 -0
  686. data/rubocop-1.88.2/lib/rubocop/cop/style/nested_ternary_operator.rb +63 -0
  687. data/rubocop-1.88.2/lib/rubocop/cop/style/next.rb +277 -0
  688. data/rubocop-1.88.2/lib/rubocop/cop/style/nil_comparison.rb +86 -0
  689. data/rubocop-1.88.2/lib/rubocop/cop/style/nil_lambda.rb +78 -0
  690. data/rubocop-1.88.2/lib/rubocop/cop/style/non_nil_check.rb +152 -0
  691. data/rubocop-1.88.2/lib/rubocop/cop/style/not.rb +78 -0
  692. data/rubocop-1.88.2/lib/rubocop/cop/style/numbered_parameters.rb +46 -0
  693. data/rubocop-1.88.2/lib/rubocop/cop/style/numbered_parameters_limit.rb +58 -0
  694. data/rubocop-1.88.2/lib/rubocop/cop/style/numeric_literal_prefix.rb +119 -0
  695. data/rubocop-1.88.2/lib/rubocop/cop/style/numeric_literals.rb +130 -0
  696. data/rubocop-1.88.2/lib/rubocop/cop/style/numeric_predicate.rb +185 -0
  697. data/rubocop-1.88.2/lib/rubocop/cop/style/object_then.rb +76 -0
  698. data/rubocop-1.88.2/lib/rubocop/cop/style/one_class_per_file.rb +115 -0
  699. data/rubocop-1.88.2/lib/rubocop/cop/style/one_line_conditional.rb +157 -0
  700. data/rubocop-1.88.2/lib/rubocop/cop/style/open_struct_use.rb +69 -0
  701. data/rubocop-1.88.2/lib/rubocop/cop/style/operator_method_call.rb +100 -0
  702. data/rubocop-1.88.2/lib/rubocop/cop/style/option_hash.rb +54 -0
  703. data/rubocop-1.88.2/lib/rubocop/cop/style/optional_arguments.rb +60 -0
  704. data/rubocop-1.88.2/lib/rubocop/cop/style/optional_boolean_parameter.rb +64 -0
  705. data/rubocop-1.88.2/lib/rubocop/cop/style/or_assignment.rb +94 -0
  706. data/rubocop-1.88.2/lib/rubocop/cop/style/parallel_assignment.rb +322 -0
  707. data/rubocop-1.88.2/lib/rubocop/cop/style/parentheses_around_condition.rb +136 -0
  708. data/rubocop-1.88.2/lib/rubocop/cop/style/partition_instead_of_double_select.rb +270 -0
  709. data/rubocop-1.88.2/lib/rubocop/cop/style/percent_literal_delimiters.rb +122 -0
  710. data/rubocop-1.88.2/lib/rubocop/cop/style/percent_q_literals.rb +70 -0
  711. data/rubocop-1.88.2/lib/rubocop/cop/style/perl_backrefs.rb +129 -0
  712. data/rubocop-1.88.2/lib/rubocop/cop/style/predicate_with_kind.rb +84 -0
  713. data/rubocop-1.88.2/lib/rubocop/cop/style/preferred_hash_methods.rb +74 -0
  714. data/rubocop-1.88.2/lib/rubocop/cop/style/proc.rb +38 -0
  715. data/rubocop-1.88.2/lib/rubocop/cop/style/quoted_symbols.rb +122 -0
  716. data/rubocop-1.88.2/lib/rubocop/cop/style/raise_args.rb +160 -0
  717. data/rubocop-1.88.2/lib/rubocop/cop/style/random_with_offset.rb +153 -0
  718. data/rubocop-1.88.2/lib/rubocop/cop/style/reduce_to_hash.rb +200 -0
  719. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_argument.rb +131 -0
  720. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_array_constructor.rb +77 -0
  721. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_array_flatten.rb +50 -0
  722. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_assignment.rb +114 -0
  723. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_begin.rb +239 -0
  724. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_capital_w.rb +46 -0
  725. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_condition.rb +345 -0
  726. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_conditional.rb +84 -0
  727. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_constant_base.rb +85 -0
  728. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_current_directory_in_path.rb +62 -0
  729. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb +129 -0
  730. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_each.rb +119 -0
  731. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_exception.rb +91 -0
  732. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_fetch_block.rb +113 -0
  733. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +61 -0
  734. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_filter_chain.rb +118 -0
  735. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_format.rb +312 -0
  736. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_freeze.rb +69 -0
  737. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb +63 -0
  738. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_initialize.rb +165 -0
  739. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_interpolation.rb +147 -0
  740. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_interpolation_unfreeze.rb +62 -0
  741. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_line_continuation.rb +260 -0
  742. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_min_max_by.rb +93 -0
  743. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_parentheses.rb +363 -0
  744. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_percent_q.rb +110 -0
  745. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_regexp_argument.rb +116 -0
  746. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_regexp_character_class.rb +119 -0
  747. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_regexp_constructor.rb +46 -0
  748. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_regexp_escape.rb +132 -0
  749. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_return.rb +191 -0
  750. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_self.rb +224 -0
  751. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_self_assignment.rb +106 -0
  752. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_self_assignment_branch.rb +85 -0
  753. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_sort.rb +209 -0
  754. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_sort_by.rb +79 -0
  755. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_string_escape.rb +185 -0
  756. data/rubocop-1.88.2/lib/rubocop/cop/style/redundant_struct_keyword_init.rb +133 -0
  757. data/rubocop-1.88.2/lib/rubocop/cop/style/regexp_literal.rb +260 -0
  758. data/rubocop-1.88.2/lib/rubocop/cop/style/require_order.rb +139 -0
  759. data/rubocop-1.88.2/lib/rubocop/cop/style/rescue_modifier.rb +112 -0
  760. data/rubocop-1.88.2/lib/rubocop/cop/style/rescue_standard_error.rb +126 -0
  761. data/rubocop-1.88.2/lib/rubocop/cop/style/return_nil.rb +99 -0
  762. data/rubocop-1.88.2/lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb +137 -0
  763. data/rubocop-1.88.2/lib/rubocop/cop/style/reverse_find.rb +51 -0
  764. data/rubocop-1.88.2/lib/rubocop/cop/style/safe_navigation.rb +427 -0
  765. data/rubocop-1.88.2/lib/rubocop/cop/style/safe_navigation_chain_length.rb +52 -0
  766. data/rubocop-1.88.2/lib/rubocop/cop/style/sample.rb +144 -0
  767. data/rubocop-1.88.2/lib/rubocop/cop/style/select_by_kind.rb +158 -0
  768. data/rubocop-1.88.2/lib/rubocop/cop/style/select_by_range.rb +197 -0
  769. data/rubocop-1.88.2/lib/rubocop/cop/style/select_by_regexp.rb +199 -0
  770. data/rubocop-1.88.2/lib/rubocop/cop/style/self_assignment.rb +95 -0
  771. data/rubocop-1.88.2/lib/rubocop/cop/style/semicolon.rb +205 -0
  772. data/rubocop-1.88.2/lib/rubocop/cop/style/send.rb +29 -0
  773. data/rubocop-1.88.2/lib/rubocop/cop/style/send_with_literal_method_name.rb +105 -0
  774. data/rubocop-1.88.2/lib/rubocop/cop/style/signal_exception.rb +217 -0
  775. data/rubocop-1.88.2/lib/rubocop/cop/style/single_argument_dig.rb +73 -0
  776. data/rubocop-1.88.2/lib/rubocop/cop/style/single_line_block_params.rb +119 -0
  777. data/rubocop-1.88.2/lib/rubocop/cop/style/single_line_do_end_block.rb +91 -0
  778. data/rubocop-1.88.2/lib/rubocop/cop/style/single_line_methods.rb +149 -0
  779. data/rubocop-1.88.2/lib/rubocop/cop/style/slicing_with_range.rb +146 -0
  780. data/rubocop-1.88.2/lib/rubocop/cop/style/sole_nested_conditional.rb +246 -0
  781. data/rubocop-1.88.2/lib/rubocop/cop/style/special_global_vars.rb +264 -0
  782. data/rubocop-1.88.2/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +79 -0
  783. data/rubocop-1.88.2/lib/rubocop/cop/style/static_class.rb +128 -0
  784. data/rubocop-1.88.2/lib/rubocop/cop/style/stderr_puts.rb +57 -0
  785. data/rubocop-1.88.2/lib/rubocop/cop/style/string_chars.rb +42 -0
  786. data/rubocop-1.88.2/lib/rubocop/cop/style/string_concatenation.rb +182 -0
  787. data/rubocop-1.88.2/lib/rubocop/cop/style/string_hash_keys.rb +59 -0
  788. data/rubocop-1.88.2/lib/rubocop/cop/style/string_literals.rb +129 -0
  789. data/rubocop-1.88.2/lib/rubocop/cop/style/string_literals_in_interpolation.rb +76 -0
  790. data/rubocop-1.88.2/lib/rubocop/cop/style/string_methods.rb +36 -0
  791. data/rubocop-1.88.2/lib/rubocop/cop/style/strip.rb +45 -0
  792. data/rubocop-1.88.2/lib/rubocop/cop/style/struct_inheritance.rb +94 -0
  793. data/rubocop-1.88.2/lib/rubocop/cop/style/super_arguments.rb +221 -0
  794. data/rubocop-1.88.2/lib/rubocop/cop/style/super_with_args_parentheses.rb +35 -0
  795. data/rubocop-1.88.2/lib/rubocop/cop/style/swap_values.rb +101 -0
  796. data/rubocop-1.88.2/lib/rubocop/cop/style/symbol_array.rb +133 -0
  797. data/rubocop-1.88.2/lib/rubocop/cop/style/symbol_literal.rb +28 -0
  798. data/rubocop-1.88.2/lib/rubocop/cop/style/symbol_proc.rb +283 -0
  799. data/rubocop-1.88.2/lib/rubocop/cop/style/tally_method.rb +181 -0
  800. data/rubocop-1.88.2/lib/rubocop/cop/style/ternary_parentheses.rb +251 -0
  801. data/rubocop-1.88.2/lib/rubocop/cop/style/top_level_method_definition.rb +86 -0
  802. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_body_on_class.rb +41 -0
  803. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +55 -0
  804. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_body_on_module.rb +40 -0
  805. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +160 -0
  806. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +137 -0
  807. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +105 -0
  808. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +139 -0
  809. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_method_end_statement.rb +63 -0
  810. data/rubocop-1.88.2/lib/rubocop/cop/style/trailing_underscore_variable.rb +151 -0
  811. data/rubocop-1.88.2/lib/rubocop/cop/style/trivial_accessors.rb +254 -0
  812. data/rubocop-1.88.2/lib/rubocop/cop/style/unless_else.rb +56 -0
  813. data/rubocop-1.88.2/lib/rubocop/cop/style/unless_logical_operators.rb +106 -0
  814. data/rubocop-1.88.2/lib/rubocop/cop/style/unpack_first.rb +59 -0
  815. data/rubocop-1.88.2/lib/rubocop/cop/style/variable_interpolation.rb +44 -0
  816. data/rubocop-1.88.2/lib/rubocop/cop/style/when_then.rb +37 -0
  817. data/rubocop-1.88.2/lib/rubocop/cop/style/while_until_do.rb +54 -0
  818. data/rubocop-1.88.2/lib/rubocop/cop/style/while_until_modifier.rb +67 -0
  819. data/rubocop-1.88.2/lib/rubocop/cop/style/word_array.rb +156 -0
  820. data/rubocop-1.88.2/lib/rubocop/cop/style/yaml_file_read.rb +66 -0
  821. data/rubocop-1.88.2/lib/rubocop/cop/style/yoda_condition.rb +185 -0
  822. data/rubocop-1.88.2/lib/rubocop/cop/style/yoda_expression.rb +92 -0
  823. data/rubocop-1.88.2/lib/rubocop/cop/style/zero_length_predicate.rb +157 -0
  824. data/rubocop-1.88.2/lib/rubocop/cop/team.rb +355 -0
  825. data/rubocop-1.88.2/lib/rubocop/cop/util.rb +215 -0
  826. data/rubocop-1.88.2/lib/rubocop/cop/utils/format_string.rb +148 -0
  827. data/rubocop-1.88.2/lib/rubocop/cop/variable_force/assignment.rb +156 -0
  828. data/rubocop-1.88.2/lib/rubocop/cop/variable_force/branch.rb +355 -0
  829. data/rubocop-1.88.2/lib/rubocop/cop/variable_force/branchable.rb +23 -0
  830. data/rubocop-1.88.2/lib/rubocop/cop/variable_force/reference.rb +47 -0
  831. data/rubocop-1.88.2/lib/rubocop/cop/variable_force/scope.rb +106 -0
  832. data/rubocop-1.88.2/lib/rubocop/cop/variable_force/variable.rb +127 -0
  833. data/rubocop-1.88.2/lib/rubocop/cop/variable_force/variable_table.rb +131 -0
  834. data/rubocop-1.88.2/lib/rubocop/cop/variable_force.rb +462 -0
  835. data/rubocop-1.88.2/lib/rubocop/cops_documentation_generator.rb +406 -0
  836. data/rubocop-1.88.2/lib/rubocop/core_ext/string.rb +19 -0
  837. data/rubocop-1.88.2/lib/rubocop/directive_comment.rb +224 -0
  838. data/rubocop-1.88.2/lib/rubocop/error.rb +35 -0
  839. data/rubocop-1.88.2/lib/rubocop/ext/comment.rb +18 -0
  840. data/rubocop-1.88.2/lib/rubocop/ext/processed_source.rb +20 -0
  841. data/rubocop-1.88.2/lib/rubocop/ext/range.rb +15 -0
  842. data/rubocop-1.88.2/lib/rubocop/ext/regexp_node.rb +69 -0
  843. data/rubocop-1.88.2/lib/rubocop/ext/regexp_parser.rb +78 -0
  844. data/rubocop-1.88.2/lib/rubocop/feature_loader.rb +94 -0
  845. data/rubocop-1.88.2/lib/rubocop/file_finder.rb +43 -0
  846. data/rubocop-1.88.2/lib/rubocop/file_patterns.rb +51 -0
  847. data/rubocop-1.88.2/lib/rubocop/formatter/auto_gen_config_formatter.rb +17 -0
  848. data/rubocop-1.88.2/lib/rubocop/formatter/base_formatter.rb +119 -0
  849. data/rubocop-1.88.2/lib/rubocop/formatter/clang_style_formatter.rb +58 -0
  850. data/rubocop-1.88.2/lib/rubocop/formatter/colorizable.rb +41 -0
  851. data/rubocop-1.88.2/lib/rubocop/formatter/disabled_config_formatter.rb +307 -0
  852. data/rubocop-1.88.2/lib/rubocop/formatter/emacs_style_formatter.rb +39 -0
  853. data/rubocop-1.88.2/lib/rubocop/formatter/file_list_formatter.rb +20 -0
  854. data/rubocop-1.88.2/lib/rubocop/formatter/formatter_set.rb +114 -0
  855. data/rubocop-1.88.2/lib/rubocop/formatter/fuubar_style_formatter.rb +80 -0
  856. data/rubocop-1.88.2/lib/rubocop/formatter/github_actions_formatter.rb +57 -0
  857. data/rubocop-1.88.2/lib/rubocop/formatter/html_formatter.rb +155 -0
  858. data/rubocop-1.88.2/lib/rubocop/formatter/json_formatter.rb +79 -0
  859. data/rubocop-1.88.2/lib/rubocop/formatter/junit_formatter.rb +143 -0
  860. data/rubocop-1.88.2/lib/rubocop/formatter/markdown_formatter.rb +79 -0
  861. data/rubocop-1.88.2/lib/rubocop/formatter/offense_count_formatter.rb +93 -0
  862. data/rubocop-1.88.2/lib/rubocop/formatter/pacman_formatter.rb +81 -0
  863. data/rubocop-1.88.2/lib/rubocop/formatter/progress_formatter.rb +62 -0
  864. data/rubocop-1.88.2/lib/rubocop/formatter/quiet_formatter.rb +13 -0
  865. data/rubocop-1.88.2/lib/rubocop/formatter/simple_text_formatter.rb +170 -0
  866. data/rubocop-1.88.2/lib/rubocop/formatter/tap_formatter.rb +85 -0
  867. data/rubocop-1.88.2/lib/rubocop/formatter/text_util.rb +20 -0
  868. data/rubocop-1.88.2/lib/rubocop/formatter/worst_offenders_formatter.rb +64 -0
  869. data/rubocop-1.88.2/lib/rubocop/formatter.rb +35 -0
  870. data/rubocop-1.88.2/lib/rubocop/lockfile.rb +91 -0
  871. data/rubocop-1.88.2/lib/rubocop/lsp/diagnostic.rb +174 -0
  872. data/rubocop-1.88.2/lib/rubocop/lsp/disable_comment_edits.rb +135 -0
  873. data/rubocop-1.88.2/lib/rubocop/lsp/logger.rb +22 -0
  874. data/rubocop-1.88.2/lib/rubocop/lsp/routes.rb +263 -0
  875. data/rubocop-1.88.2/lib/rubocop/lsp/runtime.rb +78 -0
  876. data/rubocop-1.88.2/lib/rubocop/lsp/server.rb +70 -0
  877. data/rubocop-1.88.2/lib/rubocop/lsp/severity.rb +27 -0
  878. data/rubocop-1.88.2/lib/rubocop/lsp/stdin_runner.rb +76 -0
  879. data/rubocop-1.88.2/lib/rubocop/lsp.rb +36 -0
  880. data/rubocop-1.88.2/lib/rubocop/magic_comment.rb +328 -0
  881. data/rubocop-1.88.2/lib/rubocop/mcp/server.rb +200 -0
  882. data/rubocop-1.88.2/lib/rubocop/name_similarity.rb +29 -0
  883. data/rubocop-1.88.2/lib/rubocop/options.rb +693 -0
  884. data/rubocop-1.88.2/lib/rubocop/path_util.rb +134 -0
  885. data/rubocop-1.88.2/lib/rubocop/pending_cops_reporter.rb +56 -0
  886. data/rubocop-1.88.2/lib/rubocop/platform.rb +11 -0
  887. data/rubocop-1.88.2/lib/rubocop/plugin/configuration_integrator.rb +143 -0
  888. data/rubocop-1.88.2/lib/rubocop/plugin/load_error.rb +26 -0
  889. data/rubocop-1.88.2/lib/rubocop/plugin/loader.rb +100 -0
  890. data/rubocop-1.88.2/lib/rubocop/plugin/not_supported_error.rb +29 -0
  891. data/rubocop-1.88.2/lib/rubocop/plugin.rb +46 -0
  892. data/rubocop-1.88.2/lib/rubocop/project_index_loader.rb +66 -0
  893. data/rubocop-1.88.2/lib/rubocop/rake_task.rb +109 -0
  894. data/rubocop-1.88.2/lib/rubocop/remote_config.rb +114 -0
  895. data/rubocop-1.88.2/lib/rubocop/result_cache.rb +259 -0
  896. data/rubocop-1.88.2/lib/rubocop/rspec/cop_helper.rb +119 -0
  897. data/rubocop-1.88.2/lib/rubocop/rspec/expect_offense.rb +354 -0
  898. data/rubocop-1.88.2/lib/rubocop/rspec/parallel_formatter.rb +90 -0
  899. data/rubocop-1.88.2/lib/rubocop/rspec/shared_contexts.rb +305 -0
  900. data/rubocop-1.88.2/lib/rubocop/rspec/support.rb +35 -0
  901. data/rubocop-1.88.2/lib/rubocop/runner.rb +642 -0
  902. data/rubocop-1.88.2/lib/rubocop/server/cache.rb +185 -0
  903. data/rubocop-1.88.2/lib/rubocop/server/cli.rb +147 -0
  904. data/rubocop-1.88.2/lib/rubocop/server/client_command/base.rb +54 -0
  905. data/rubocop-1.88.2/lib/rubocop/server/client_command/exec.rb +65 -0
  906. data/rubocop-1.88.2/lib/rubocop/server/client_command/restart.rb +25 -0
  907. data/rubocop-1.88.2/lib/rubocop/server/client_command/start.rb +58 -0
  908. data/rubocop-1.88.2/lib/rubocop/server/client_command/status.rb +28 -0
  909. data/rubocop-1.88.2/lib/rubocop/server/client_command/stop.rb +31 -0
  910. data/rubocop-1.88.2/lib/rubocop/server/client_command.rb +26 -0
  911. data/rubocop-1.88.2/lib/rubocop/server/core.rb +124 -0
  912. data/rubocop-1.88.2/lib/rubocop/server/errors.rb +23 -0
  913. data/rubocop-1.88.2/lib/rubocop/server/helper.rb +34 -0
  914. data/rubocop-1.88.2/lib/rubocop/server/server_command/base.rb +50 -0
  915. data/rubocop-1.88.2/lib/rubocop/server/server_command/exec.rb +33 -0
  916. data/rubocop-1.88.2/lib/rubocop/server/server_command/stop.rb +24 -0
  917. data/rubocop-1.88.2/lib/rubocop/server/server_command.rb +21 -0
  918. data/rubocop-1.88.2/lib/rubocop/server/socket_reader.rb +69 -0
  919. data/rubocop-1.88.2/lib/rubocop/server.rb +53 -0
  920. data/rubocop-1.88.2/lib/rubocop/string_interpreter.rb +60 -0
  921. data/rubocop-1.88.2/lib/rubocop/target_finder.rb +228 -0
  922. data/rubocop-1.88.2/lib/rubocop/target_ruby.rb +314 -0
  923. data/rubocop-1.88.2/lib/rubocop/util.rb +16 -0
  924. data/rubocop-1.88.2/lib/rubocop/version.rb +178 -0
  925. data/rubocop-1.88.2/lib/rubocop/warning.rb +11 -0
  926. data/rubocop-1.88.2/lib/rubocop/yaml_duplication_checker.rb +34 -0
  927. data/rubocop-1.88.2/lib/rubocop.rb +904 -0
  928. data/rubocop-1.88.2/lib/ruby_lsp/rubocop/addon.rb +90 -0
  929. data/rubocop-1.88.2/lib/ruby_lsp/rubocop/runtime_adapter.rb +99 -0
  930. data/tiny-smart-sys.gemspec +12 -0
  931. metadata +970 -0
@@ -0,0 +1,573 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ # A scaffold for concrete cops.
6
+ #
7
+ # The Cop::Base class is meant to be extended.
8
+ #
9
+ # Cops track offenses and can autocorrect them on the fly.
10
+ #
11
+ # A commissioner object is responsible for traversing the AST and invoking
12
+ # the specific callbacks on each cop.
13
+ #
14
+ # First the callback `on_new_investigation` is called;
15
+ # if a cop needs to do its own processing of the AST or depends on
16
+ # something else.
17
+ #
18
+ # Then callbacks like `on_def`, `on_send` (see AST::Traversal) are called
19
+ # with their respective nodes.
20
+ #
21
+ # Finally the callback `on_investigation_end` is called.
22
+ #
23
+ # Within these callbacks, cops are meant to call `add_offense` or
24
+ # `add_global_offense`. Use the `processed_source` method to
25
+ # get the currently processed source being investigated.
26
+ #
27
+ # In case of invalid syntax / unparsable content,
28
+ # the callback `on_other_file` is called instead of all the other
29
+ # `on_...` callbacks.
30
+ #
31
+ # Private methods are not meant for custom cops consumption,
32
+ # nor are any instance variables.
33
+ #
34
+ class Base # rubocop:disable Metrics/ClassLength
35
+ extend RuboCop::AST::Sexp
36
+ extend NodePattern::Macros
37
+ extend ExcludeLimit
38
+ include RuboCop::AST::Sexp
39
+ include Util
40
+ include IgnoredNode
41
+ include AutocorrectLogic
42
+
43
+ attr_reader :config, :processed_source
44
+ attr_accessor :project_index
45
+
46
+ # Reports of an investigation.
47
+ # Immutable
48
+ # Consider creation API private
49
+ InvestigationReport = Struct.new(:cop, :processed_source, :offenses, :corrector)
50
+
51
+ # List of methods names to restrict calls for `on_send` / `on_csend`
52
+ RESTRICT_ON_SEND = Set[].freeze # rubocop:disable InternalAffairs/UselessRestrictOnSend
53
+
54
+ # List of cops that should not try to autocorrect at the same
55
+ # time as this cop
56
+ #
57
+ # @return [Array<RuboCop::Cop::Base>]
58
+ #
59
+ # @api public
60
+ def self.autocorrect_incompatible_with
61
+ []
62
+ end
63
+
64
+ # Returns a url to view this cops documentation online.
65
+ # Requires 'DocumentationBaseURL' to be set for your department.
66
+ # Will follow the convention of RuboCops own documentation structure,
67
+ # overwrite this method to accommodate your custom layout.
68
+ # @return [String, nil]
69
+ #
70
+ # @api public
71
+ def self.documentation_url(config = nil)
72
+ Documentation.url_for(self, config)
73
+ end
74
+
75
+ def self.inherited(subclass)
76
+ super
77
+ subclass.instance_variable_set(:@gem_requirements, gem_requirements.dup)
78
+ Registry.global.enlist(subclass)
79
+ end
80
+
81
+ # Call for abstract Cop classes
82
+ def self.exclude_from_registry
83
+ Registry.global.dismiss(self)
84
+ end
85
+
86
+ # Returns if class supports autocorrect.
87
+ # It is recommended to extend AutoCorrector instead of overriding
88
+ def self.support_autocorrect?
89
+ false
90
+ end
91
+
92
+ ### Naming
93
+
94
+ def self.badge
95
+ @badge ||= Badge.for(name)
96
+ end
97
+
98
+ def self.cop_name
99
+ badge.to_s
100
+ end
101
+
102
+ def self.department
103
+ badge.department
104
+ end
105
+
106
+ def self.lint?
107
+ department == :Lint
108
+ end
109
+
110
+ # Returns true if the cop name or the cop namespace matches any of the
111
+ # given names.
112
+ def self.match?(given_names)
113
+ return false unless given_names
114
+
115
+ given_names.include?(cop_name) || given_names.include?(badge.department_name)
116
+ end
117
+
118
+ # Override and return the Force class(es) you need to join
119
+ def self.joining_forces; end
120
+
121
+ ### Persistence
122
+
123
+ # Override if your cop should be called repeatedly for multiple investigations
124
+ # Between calls to `on_new_investigation` and `on_investigation_end`,
125
+ # the result of `processed_source` will remain constant.
126
+ # You should invalidate any caches that depend on the current `processed_source`
127
+ # in the `on_new_investigation` callback.
128
+ # If your cop does autocorrections, be aware that your instance may be called
129
+ # multiple times with the same `processed_source.path` but different content.
130
+ def self.support_multiple_source?
131
+ false
132
+ end
133
+
134
+ ## Gem requirements
135
+
136
+ @gem_requirements = {}
137
+
138
+ class << self
139
+ attr_reader :gem_requirements
140
+
141
+ # Register a version requirement for the given gem name.
142
+ # This cop will be skipped unless the target satisfies *all* requirements.
143
+ # @param [String] gem_name
144
+ # @param [Array<String>] version_requirements The version requirements,
145
+ # using the same syntax as a Gemfile, e.g. ">= 1.2.3"
146
+ #
147
+ # If omitted, any version of the gem will be accepted.
148
+ #
149
+ # https://guides.rubygems.org/patterns/#declaring-dependencies
150
+ #
151
+ # @api public
152
+ def requires_gem(gem_name, *version_requirements)
153
+ @gem_requirements[gem_name] = Gem::Requirement.new(version_requirements)
154
+ end
155
+ end
156
+
157
+ def initialize(config = nil, options = nil)
158
+ @config = config || Config.new
159
+ @options = options || { debug: false }
160
+ reset_investigation
161
+ end
162
+
163
+ # Called before all on_... have been called
164
+ # When refining this method, always call `super`
165
+ def on_new_investigation
166
+ # Typically do nothing here
167
+ end
168
+
169
+ # Called after all on_... have been called
170
+ # When refining this method, always call `super`
171
+ def on_investigation_end
172
+ # Typically do nothing here
173
+ end
174
+
175
+ # Called instead of all on_... callbacks for unrecognized files / syntax errors
176
+ # When refining this method, always call `super`
177
+ def on_other_file
178
+ # Typically do nothing here
179
+ end
180
+
181
+ # Gets called if no message is specified when calling `add_offense` or
182
+ # `add_global_offense`
183
+ # Cops are discouraged to override this; instead pass your message directly
184
+ def message(_range = nil)
185
+ self.class::MSG
186
+ end
187
+
188
+ # Adds an offense that has no particular location.
189
+ # No correction can be applied to global offenses
190
+ def add_global_offense(message = nil, severity: nil)
191
+ severity = find_severity(nil, severity)
192
+ message = find_message(nil, message)
193
+ range = Offense::NO_LOCATION
194
+ status = enabled_line?(range.line) ? :unsupported : :disabled
195
+ current_offenses << Offense.new(severity, range, message, name, status)
196
+ end
197
+
198
+ # Adds an offense on the specified range (or node with an expression)
199
+ # Unless that offense is disabled for this range, a corrector will be yielded
200
+ # to provide the cop the opportunity to autocorrect the offense.
201
+ # If message is not specified, the method `message` will be called.
202
+ def add_offense(node_or_range, message: nil, severity: nil, &block)
203
+ range = range_from_node_or_range(node_or_range)
204
+ return unless current_offense_locations.add?(range)
205
+
206
+ range_to_pass = callback_argument(range)
207
+
208
+ severity = find_severity(range_to_pass, severity)
209
+ message = find_message(range_to_pass, message)
210
+
211
+ status, corrector = enabled_line?(range.line) ? correct(range, &block) : :disabled
212
+
213
+ # Since this range may be generated from Ruby code embedded in some
214
+ # template file, we convert it to location info in the original file.
215
+ range = range_for_original(range)
216
+
217
+ current_offenses << Offense.new(severity, range, message, name, status, corrector)
218
+ end
219
+
220
+ # This method should be overridden when a cop's behavior depends
221
+ # on state that lives outside of these locations:
222
+ #
223
+ # (1) the file under inspection
224
+ # (2) the cop's source code
225
+ # (3) the config (eg a .rubocop.yml file)
226
+ #
227
+ # For example, some cops may want to look at other parts of
228
+ # the codebase being inspected to find violations. A cop may
229
+ # use the presence or absence of file `foo.rb` to determine
230
+ # whether a certain violation exists in `bar.rb`.
231
+ #
232
+ # Overriding this method allows the cop to indicate to RuboCop's
233
+ # ResultCache system when those external dependencies change,
234
+ # ie when the ResultCache should be invalidated.
235
+ def external_dependency_checksum
236
+ nil
237
+ end
238
+
239
+ def cop_name
240
+ @cop_name ||= self.class.cop_name
241
+ end
242
+
243
+ alias name cop_name
244
+
245
+ ### Configuration Helpers
246
+
247
+ def cop_config
248
+ # Use department configuration as basis, but let individual cop
249
+ # configuration override.
250
+ @cop_config ||= @config.for_badge(self.class.badge)
251
+ end
252
+
253
+ def config_to_allow_offenses
254
+ Formatter::DisabledConfigFormatter.config_to_allow_offenses[cop_name] ||= {}
255
+ end
256
+
257
+ def config_to_allow_offenses=(hash)
258
+ Formatter::DisabledConfigFormatter.config_to_allow_offenses[cop_name] = hash
259
+ end
260
+
261
+ def target_ruby_version
262
+ @config.target_ruby_version
263
+ end
264
+
265
+ # Returns a gems locked versions (i.e. from Gemfile.lock or gems.locked)
266
+ # @returns [Gem::Version | nil] The locked gem version, or nil if the gem is not present.
267
+ def target_gem_version(gem_name)
268
+ @config.gem_versions_in_target && @config.gem_versions_in_target[gem_name]
269
+ end
270
+
271
+ def parser_engine
272
+ @config.parser_engine
273
+ end
274
+
275
+ def target_rails_version
276
+ @config.target_rails_version
277
+ end
278
+
279
+ def active_support_extensions_enabled?
280
+ @config.active_support_extensions_enabled?
281
+ end
282
+
283
+ def string_literals_frozen_by_default?
284
+ @config.string_literals_frozen_by_default?
285
+ end
286
+
287
+ def relevant_file?(file)
288
+ return false unless target_satisfies_all_gem_version_requirements?
289
+ return true unless @config.clusivity_config_for_badge?(self.class.badge)
290
+
291
+ file == RuboCop::AST::ProcessedSource::STRING_SOURCE_NAME ||
292
+ (file_name_matches_any?(file, 'Include', true) &&
293
+ !file_name_matches_any?(file, 'Exclude', false))
294
+ end
295
+
296
+ def excluded_file?(file)
297
+ !relevant_file?(file)
298
+ end
299
+
300
+ # There should be very limited reasons for a Cop to do it's own parsing
301
+ def parse(source, path = nil)
302
+ ProcessedSource.new(source, target_ruby_version, path, parser_engine: parser_engine)
303
+ end
304
+
305
+ # @api private
306
+ # Called between investigations
307
+ def ready
308
+ return self if self.class.support_multiple_source?
309
+
310
+ self.class.new(@config, @options).tap do |fresh|
311
+ fresh.project_index = @project_index
312
+ end
313
+ end
314
+
315
+ ### Reserved for Cop::Cop
316
+
317
+ # @deprecated Make potential errors with previous API more obvious
318
+ def offenses
319
+ raise 'The offenses are not directly available; ' \
320
+ 'they are returned as the result of the investigation'
321
+ end
322
+
323
+ ### Reserved for Commissioner
324
+
325
+ # rubocop:disable Layout/ClassStructure
326
+ # @api private
327
+ def callbacks_needed
328
+ self.class.callbacks_needed
329
+ end
330
+
331
+ # @api private
332
+ def self.callbacks_needed
333
+ @callbacks_needed ||= public_instance_methods.select do |m|
334
+ # OPTIMIZE: `start_with?` with two string arguments instead of a regex
335
+ # is faster in this specific case.
336
+ m.start_with?('on_', 'after_') &&
337
+ # exclude standard "callbacks" like 'on_new_investigation' unless refined
338
+ instance_method(m).owner != Base
339
+ end
340
+ end
341
+ # rubocop:enable Layout/ClassStructure
342
+
343
+ # Called before any investigation
344
+ # @api private
345
+ def begin_investigation(processed_source, offset: 0, original: processed_source)
346
+ @current_offenses = nil
347
+ @current_offense_locations = nil
348
+ @currently_disabled_lines = nil
349
+ @processed_source = processed_source
350
+ @current_corrector = nil
351
+
352
+ # We need to keep track of the original source and offset,
353
+ # because `processed_source` here may be an embedded code in it.
354
+ @current_offset = offset
355
+ @current_original = original
356
+ end
357
+
358
+ # @api private
359
+ def always_autocorrect?
360
+ # `true` is the same as `'always'` for backward compatibility.
361
+ ['always', true].include?(cop_config.fetch('AutoCorrect', 'always'))
362
+ end
363
+
364
+ # @api private
365
+ def contextual_autocorrect?
366
+ cop_config.fetch('AutoCorrect', 'always') == 'contextual'
367
+ end
368
+
369
+ def inspect # :nodoc:
370
+ "#<#{self.class.name}:#{object_id} @config=#{@config} @options=#{@options}>"
371
+ end
372
+
373
+ private
374
+
375
+ ### Reserved for Cop::Cop
376
+
377
+ def callback_argument(range)
378
+ range
379
+ end
380
+
381
+ def apply_correction(corrector)
382
+ current_corrector&.merge!(corrector) if corrector
383
+ end
384
+
385
+ ### Reserved for Commissioner:
386
+
387
+ def current_offense_locations
388
+ @current_offense_locations ||= Set.new
389
+ end
390
+
391
+ def currently_disabled_lines
392
+ @currently_disabled_lines ||= Set.new
393
+ end
394
+
395
+ def current_corrector
396
+ @current_corrector ||= Corrector.new(@processed_source) if @processed_source.valid_syntax?
397
+ end
398
+
399
+ def current_offenses
400
+ @current_offenses ||= []
401
+ end
402
+
403
+ private_class_method def self.restrict_on_send
404
+ @restrict_on_send ||= self::RESTRICT_ON_SEND.to_a.freeze
405
+ end
406
+
407
+ EMPTY_OFFENSES = [].freeze
408
+ private_constant :EMPTY_OFFENSES
409
+ # Called to complete an investigation
410
+ def complete_investigation
411
+ InvestigationReport.new(
412
+ self, processed_source, @current_offenses || EMPTY_OFFENSES, @current_corrector
413
+ )
414
+ ensure
415
+ reset_investigation
416
+ end
417
+
418
+ ### Actually private methods
419
+
420
+ def reset_investigation
421
+ @currently_disabled_lines = nil
422
+ @current_offenses = nil
423
+ @processed_source = nil
424
+ @current_corrector = nil
425
+ end
426
+
427
+ # @return [Symbol, Corrector] offense status
428
+ def correct(range)
429
+ if block_given?
430
+ corrector = Corrector.new(self)
431
+ yield corrector
432
+ if corrector.empty?
433
+ corrector = nil
434
+ elsif !self.class.support_autocorrect?
435
+ raise "The Cop #{name} must `extend AutoCorrector` to be able to autocorrect"
436
+ end
437
+ end
438
+
439
+ [use_corrector(range, corrector), corrector]
440
+ end
441
+
442
+ # @return [Symbol] offense status
443
+ def use_corrector(range, corrector)
444
+ if autocorrect?
445
+ attempt_correction(range, corrector)
446
+ elsif corrector && (always_autocorrect? || (contextual_autocorrect? && !LSP.enabled?))
447
+ :uncorrected
448
+ else
449
+ :unsupported
450
+ end
451
+ end
452
+
453
+ # @return [Symbol] offense status
454
+ def attempt_correction(range, corrector)
455
+ if corrector
456
+ status = :corrected
457
+ elsif disable_uncorrectable?
458
+ corrector = disable_uncorrectable(range)
459
+ status = :corrected_with_todo
460
+ else
461
+ return :unsupported
462
+ end
463
+
464
+ apply_correction(corrector)
465
+ status
466
+ end
467
+
468
+ def disable_uncorrectable(range)
469
+ line = range.line
470
+ return unless currently_disabled_lines.add?(line)
471
+
472
+ disable_offense(range)
473
+ end
474
+
475
+ def range_from_node_or_range(node_or_range)
476
+ if node_or_range.respond_to?(:loc)
477
+ node_or_range.source_range
478
+ elsif node_or_range.is_a?(::Parser::Source::Range)
479
+ node_or_range
480
+ else
481
+ extra = ' (call `add_global_offense`)' if node_or_range.nil?
482
+ raise "Expected a Source::Range, got #{node_or_range.inspect}#{extra}"
483
+ end
484
+ end
485
+
486
+ def find_message(range, message)
487
+ annotate(message || message(range))
488
+ end
489
+
490
+ def annotate(message)
491
+ RuboCop::Cop::MessageAnnotator.new(
492
+ config, cop_name, cop_config, @options
493
+ ).annotate(message)
494
+ end
495
+
496
+ def file_name_matches_any?(file, parameter, default_result)
497
+ patterns = cop_config[parameter]
498
+ return default_result unless patterns
499
+
500
+ file_patterns = FilePatterns.from(patterns)
501
+ relative_file_path = config.path_relative_to_config(file)
502
+ return true if file_patterns.match?(relative_file_path)
503
+
504
+ if parameter == 'Include' && !relative_file_path.start_with?('..')
505
+ matches_absolute_include_pattern?(patterns, file)
506
+ else
507
+ file_patterns.match?(file)
508
+ end
509
+ end
510
+
511
+ def matches_absolute_include_pattern?(patterns, file)
512
+ absolute_file_path = absolute?(file) ? file : File.expand_path(file)
513
+ patterns.any? do |pattern|
514
+ (absolute?(pattern.to_s) || pattern.to_s.start_with?('..')) &&
515
+ match_path?(pattern, absolute_file_path)
516
+ end
517
+ end
518
+
519
+ def enabled_line?(line_number)
520
+ return true if @options[:ignore_disable_comments] || !@processed_source
521
+
522
+ @processed_source.comment_config.cop_enabled_at_line?(self, line_number)
523
+ end
524
+
525
+ def find_severity(_range, severity)
526
+ custom_severity || severity || default_severity
527
+ end
528
+
529
+ def default_severity
530
+ self.class.lint? ? :warning : :convention
531
+ end
532
+
533
+ def custom_severity
534
+ severity = cop_config['Severity']
535
+ return unless severity
536
+
537
+ if Severity::NAMES.include?(severity.to_sym)
538
+ severity.to_sym
539
+ else
540
+ message = "Warning: Invalid severity '#{severity}'. " \
541
+ "Valid severities are #{Severity::NAMES.join(', ')}."
542
+ warn(Rainbow(message).red)
543
+ end
544
+ end
545
+
546
+ def range_for_original(range)
547
+ buffer = @current_original.buffer
548
+ return range if @current_offset.zero? && range.source_buffer.equal?(buffer)
549
+
550
+ ::Parser::Source::Range.new(
551
+ buffer,
552
+ range.begin_pos + @current_offset,
553
+ range.end_pos + @current_offset
554
+ )
555
+ end
556
+
557
+ def target_satisfies_all_gem_version_requirements?
558
+ gem_requirements = self.class.gem_requirements
559
+ return true if gem_requirements.empty?
560
+
561
+ gem_requirements.all? do |gem_name, version_req|
562
+ all_gem_versions_in_target = @config.gem_versions_in_target
563
+ next false unless all_gem_versions_in_target
564
+
565
+ gem_version_in_target = all_gem_versions_in_target[gem_name]
566
+ next false unless gem_version_in_target
567
+
568
+ version_req.satisfied_by?(gem_version_in_target)
569
+ end
570
+ end
571
+ end
572
+ end
573
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Cop
5
+ module Bundler
6
+ # A Gem's requirements should be listed only once in a Gemfile.
7
+ #
8
+ # @example
9
+ # # bad
10
+ # gem 'rubocop'
11
+ # gem 'rubocop'
12
+ #
13
+ # # bad
14
+ # group :development do
15
+ # gem 'rubocop'
16
+ # end
17
+ #
18
+ # group :test do
19
+ # gem 'rubocop'
20
+ # end
21
+ #
22
+ # # good
23
+ # group :development, :test do
24
+ # gem 'rubocop'
25
+ # end
26
+ #
27
+ # # good
28
+ # gem 'rubocop', groups: [:development, :test]
29
+ #
30
+ # # good - conditional declaration
31
+ # if Dir.exist?(local)
32
+ # gem 'rubocop', path: local
33
+ # elsif ENV['RUBOCOP_VERSION'] == 'master'
34
+ # gem 'rubocop', git: 'https://github.com/rubocop/rubocop.git'
35
+ # else
36
+ # gem 'rubocop', '~> 0.90.0'
37
+ # end
38
+ #
39
+ class DuplicatedGem < Base
40
+ include RangeHelp
41
+
42
+ MSG = 'Gem `%<gem_name>s` requirements already given on line ' \
43
+ '%<line_of_first_occurrence>d of the Gemfile.'
44
+
45
+ def on_new_investigation
46
+ return if processed_source.blank?
47
+
48
+ duplicated_gem_nodes.each do |nodes|
49
+ nodes[1..].each do |node|
50
+ register_offense(node, node.first_argument.to_a.first, nodes.first.first_line)
51
+ end
52
+ end
53
+ end
54
+
55
+ private
56
+
57
+ # @!method gem_declarations(node)
58
+ def_node_search :gem_declarations, '(send nil? :gem str ...)'
59
+
60
+ def duplicated_gem_nodes
61
+ gem_declarations(processed_source.ast)
62
+ .group_by(&:first_argument)
63
+ .values
64
+ .select { |nodes| nodes.size > 1 && !conditional_declaration?(nodes) }
65
+ end
66
+
67
+ def conditional_declaration?(nodes)
68
+ parent = nodes[0].each_ancestor.find { |ancestor| !ancestor.begin_type? }
69
+ return false unless parent&.type?(:if, :when)
70
+
71
+ root_conditional_node = parent.if_type? ? parent : parent.parent
72
+ nodes.all? { |node| within_conditional?(node, root_conditional_node) }
73
+ end
74
+
75
+ def within_conditional?(node, conditional_node)
76
+ conditional_node.branches.compact.any? do |branch|
77
+ branch == node || branch.child_nodes.include?(node)
78
+ end
79
+ end
80
+
81
+ def register_offense(node, gem_name, line_of_first_occurrence)
82
+ line_range = node.loc.column...node.loc.last_column
83
+ offense_location = source_range(processed_source.buffer, node.first_line, line_range)
84
+ message = format(
85
+ MSG,
86
+ gem_name: gem_name,
87
+ line_of_first_occurrence: line_of_first_occurrence
88
+ )
89
+ add_offense(offense_location, message: message)
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end