rubocop 0.51.0 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/config/default.yml +86 -10
  4. data/config/disabled.yml +9 -4
  5. data/config/enabled.yml +1105 -1006
  6. data/lib/rubocop.rb +30 -3
  7. data/lib/rubocop/ast/builder.rb +2 -0
  8. data/lib/rubocop/ast/node.rb +24 -2
  9. data/lib/rubocop/ast/node/args_node.rb +17 -0
  10. data/lib/rubocop/ast/node/array_node.rb +1 -1
  11. data/lib/rubocop/ast/node/mixin/basic_literal_node.rb +16 -0
  12. data/lib/rubocop/ast/node/send_node.rb +20 -0
  13. data/lib/rubocop/ast/node/str_node.rb +14 -0
  14. data/lib/rubocop/ast/node/symbol_node.rb +20 -0
  15. data/lib/rubocop/ast/traversal.rb +4 -4
  16. data/lib/rubocop/cli.rb +45 -4
  17. data/lib/rubocop/comment_config.rb +2 -5
  18. data/lib/rubocop/config.rb +42 -8
  19. data/lib/rubocop/config_loader.rb +39 -100
  20. data/lib/rubocop/config_loader_resolver.rb +99 -2
  21. data/lib/rubocop/cop/autocorrect_logic.rb +1 -1
  22. data/lib/rubocop/cop/bundler/duplicated_gem.rb +7 -7
  23. data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +4 -3
  24. data/lib/rubocop/cop/bundler/ordered_gems.rb +2 -2
  25. data/lib/rubocop/cop/cop.rb +16 -46
  26. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +102 -0
  27. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +3 -2
  28. data/lib/rubocop/cop/gemspec/required_ruby_version.rb +87 -0
  29. data/lib/rubocop/cop/generator.rb +23 -4
  30. data/lib/rubocop/cop/internal_affairs.rb +1 -1
  31. data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +46 -0
  32. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +2 -2
  33. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +9 -8
  34. data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
  35. data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +1 -1
  36. data/lib/rubocop/cop/layout/access_modifier_indentation.rb +4 -7
  37. data/lib/rubocop/cop/layout/align_hash.rb +16 -16
  38. data/lib/rubocop/cop/layout/align_parameters.rb +6 -12
  39. data/lib/rubocop/cop/layout/block_end_newline.rb +19 -5
  40. data/lib/rubocop/cop/layout/case_indentation.rb +14 -17
  41. data/lib/rubocop/cop/layout/class_structure.rb +306 -0
  42. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +1 -0
  43. data/lib/rubocop/cop/layout/comment_indentation.rb +39 -2
  44. data/lib/rubocop/cop/layout/dot_position.rb +22 -13
  45. data/lib/rubocop/cop/layout/else_alignment.rb +6 -6
  46. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +17 -17
  47. data/lib/rubocop/cop/layout/empty_lines.rb +15 -1
  48. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +3 -2
  49. data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +89 -0
  50. data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +2 -2
  51. data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +4 -8
  52. data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +30 -5
  53. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +7 -3
  54. data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +2 -2
  55. data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +22 -7
  56. data/lib/rubocop/cop/layout/end_of_line.rb +1 -1
  57. data/lib/rubocop/cop/layout/extra_spacing.rb +21 -24
  58. data/lib/rubocop/cop/layout/first_parameter_indentation.rb +4 -1
  59. data/lib/rubocop/cop/layout/indent_array.rb +67 -20
  60. data/lib/rubocop/cop/layout/indent_hash.rb +70 -25
  61. data/lib/rubocop/cop/layout/indent_heredoc.rb +51 -11
  62. data/lib/rubocop/cop/layout/indentation_width.rb +24 -17
  63. data/lib/rubocop/cop/layout/initial_indentation.rb +7 -5
  64. data/lib/rubocop/cop/layout/leading_comment_space.rb +2 -2
  65. data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +47 -14
  66. data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +10 -9
  67. data/lib/rubocop/cop/layout/multiline_block_layout.rb +19 -16
  68. data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +46 -13
  69. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +9 -10
  70. data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +4 -0
  71. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +9 -3
  72. data/lib/rubocop/cop/layout/space_after_colon.rb +4 -4
  73. data/lib/rubocop/cop/layout/space_after_comma.rb +3 -3
  74. data/lib/rubocop/cop/layout/space_after_method_name.rb +4 -4
  75. data/lib/rubocop/cop/layout/space_after_semicolon.rb +8 -1
  76. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +16 -19
  77. data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +27 -16
  78. data/lib/rubocop/cop/layout/space_around_keyword.rb +13 -11
  79. data/lib/rubocop/cop/layout/space_around_operators.rb +26 -13
  80. data/lib/rubocop/cop/layout/space_before_block_braces.rb +10 -10
  81. data/lib/rubocop/cop/layout/space_before_comma.rb +12 -1
  82. data/lib/rubocop/cop/layout/space_before_comment.rb +2 -4
  83. data/lib/rubocop/cop/layout/space_before_first_arg.rb +4 -3
  84. data/lib/rubocop/cop/layout/space_before_semicolon.rb +1 -1
  85. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +6 -12
  86. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +235 -0
  87. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +3 -3
  88. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +87 -16
  89. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +57 -34
  90. data/lib/rubocop/cop/layout/space_inside_parens.rb +31 -3
  91. data/lib/rubocop/cop/layout/space_inside_range_literal.rb +15 -15
  92. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +81 -0
  93. data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +24 -13
  94. data/lib/rubocop/cop/layout/tab.rb +2 -2
  95. data/lib/rubocop/cop/layout/trailing_blank_lines.rb +7 -7
  96. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +11 -20
  97. data/lib/rubocop/cop/lint/block_alignment.rb +26 -23
  98. data/lib/rubocop/cop/lint/boolean_symbol.rb +1 -1
  99. data/lib/rubocop/cop/lint/def_end_alignment.rb +5 -10
  100. data/lib/rubocop/cop/lint/else_layout.rb +2 -2
  101. data/lib/rubocop/cop/lint/end_alignment.rb +13 -14
  102. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +3 -4
  103. data/lib/rubocop/cop/lint/inherit_exception.rb +10 -14
  104. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +81 -0
  105. data/lib/rubocop/cop/lint/nested_percent_literal.rb +58 -0
  106. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +2 -2
  107. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
  108. data/lib/rubocop/cop/lint/percent_string_array.rb +14 -14
  109. data/lib/rubocop/cop/lint/percent_symbol_array.rb +11 -11
  110. data/lib/rubocop/cop/lint/redundant_with_index.rb +6 -3
  111. data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -1
  112. data/lib/rubocop/cop/lint/require_parentheses.rb +3 -1
  113. data/lib/rubocop/cop/lint/rescue_type.rb +3 -3
  114. data/lib/rubocop/cop/lint/script_permission.rb +1 -0
  115. data/lib/rubocop/cop/lint/shadowed_argument.rb +146 -0
  116. data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +6 -6
  117. data/lib/rubocop/cop/lint/unneeded_disable.rb +29 -11
  118. data/lib/rubocop/cop/lint/unneeded_require_statement.rb +2 -1
  119. data/lib/rubocop/cop/lint/unneeded_splat_expansion.rb +43 -17
  120. data/lib/rubocop/cop/message_annotator.rb +4 -2
  121. data/lib/rubocop/cop/metrics/abc_size.rb +2 -2
  122. data/lib/rubocop/cop/metrics/class_length.rb +3 -1
  123. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +2 -1
  124. data/lib/rubocop/cop/metrics/line_length.rb +2 -2
  125. data/lib/rubocop/cop/metrics/module_length.rb +3 -1
  126. data/lib/rubocop/cop/metrics/parameter_lists.rb +9 -2
  127. data/lib/rubocop/cop/metrics/perceived_complexity.rb +2 -1
  128. data/lib/rubocop/cop/mixin/documentation_comment.rb +1 -1
  129. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +7 -5
  130. data/lib/rubocop/cop/mixin/empty_parameter.rb +23 -0
  131. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +7 -3
  132. data/lib/rubocop/cop/mixin/heredoc.rb +19 -19
  133. data/lib/rubocop/cop/mixin/method_complexity.rb +32 -8
  134. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +7 -3
  135. data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +6 -4
  136. data/lib/rubocop/cop/mixin/negative_conditional.rb +3 -0
  137. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +16 -12
  138. data/lib/rubocop/cop/mixin/parentheses.rb +12 -0
  139. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +8 -8
  140. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +10 -10
  141. data/lib/rubocop/cop/mixin/statement_modifier.rb +7 -17
  142. data/lib/rubocop/cop/mixin/surrounding_space.rb +95 -8
  143. data/lib/rubocop/cop/mixin/too_many_lines.rb +2 -2
  144. data/lib/rubocop/cop/mixin/trailing_comma.rb +22 -14
  145. data/lib/rubocop/cop/mixin/unused_argument.rb +3 -40
  146. data/lib/rubocop/cop/naming/accessor_method_name.rb +20 -10
  147. data/lib/rubocop/cop/naming/ascii_identifiers.rb +33 -0
  148. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +5 -4
  149. data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +16 -12
  150. data/lib/rubocop/cop/naming/constant_name.rb +32 -3
  151. data/lib/rubocop/cop/naming/file_name.rb +19 -8
  152. data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +10 -16
  153. data/lib/rubocop/cop/naming/method_name.rb +20 -14
  154. data/lib/rubocop/cop/naming/predicate_name.rb +7 -3
  155. data/lib/rubocop/cop/naming/variable_name.rb +17 -2
  156. data/lib/rubocop/cop/naming/variable_number.rb +10 -27
  157. data/lib/rubocop/cop/offense.rb +6 -1
  158. data/lib/rubocop/cop/performance/case_when_splat.rb +2 -6
  159. data/lib/rubocop/cop/performance/casecmp.rb +5 -4
  160. data/lib/rubocop/cop/performance/compare_with_block.rb +13 -7
  161. data/lib/rubocop/cop/performance/count.rb +5 -4
  162. data/lib/rubocop/cop/performance/detect.rb +7 -4
  163. data/lib/rubocop/cop/performance/double_start_end_with.rb +2 -7
  164. data/lib/rubocop/cop/performance/end_with.rb +2 -2
  165. data/lib/rubocop/cop/performance/flat_map.rb +3 -2
  166. data/lib/rubocop/cop/performance/hash_each_methods.rb +41 -40
  167. data/lib/rubocop/cop/performance/lstrip_rstrip.rb +5 -4
  168. data/lib/rubocop/cop/performance/redundant_block_call.rb +22 -22
  169. data/lib/rubocop/cop/performance/redundant_match.rb +2 -2
  170. data/lib/rubocop/cop/performance/redundant_merge.rb +6 -4
  171. data/lib/rubocop/cop/performance/redundant_sort_by.rb +4 -4
  172. data/lib/rubocop/cop/performance/regexp_match.rb +3 -2
  173. data/lib/rubocop/cop/performance/size.rb +2 -2
  174. data/lib/rubocop/cop/performance/start_with.rb +2 -2
  175. data/lib/rubocop/cop/performance/string_replacement.rb +4 -4
  176. data/lib/rubocop/cop/performance/times_map.rb +14 -15
  177. data/lib/rubocop/cop/performance/uri_default_parser.rb +3 -3
  178. data/lib/rubocop/cop/rails/action_filter.rb +22 -0
  179. data/lib/rubocop/cop/rails/active_support_aliases.rb +2 -2
  180. data/lib/rubocop/cop/rails/application_job.rb +4 -2
  181. data/lib/rubocop/cop/rails/application_record.rb +4 -2
  182. data/lib/rubocop/cop/rails/create_table_with_timestamps.rb +82 -0
  183. data/lib/rubocop/cop/rails/delegate.rb +20 -25
  184. data/lib/rubocop/cop/rails/delegate_allow_blank.rb +2 -2
  185. data/lib/rubocop/cop/rails/environment_comparison.rb +66 -0
  186. data/lib/rubocop/cop/rails/exit.rb +7 -0
  187. data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +7 -0
  188. data/lib/rubocop/cop/rails/has_many_or_has_one_dependent.rb +6 -2
  189. data/lib/rubocop/cop/rails/http_positional_arguments.rb +36 -41
  190. data/lib/rubocop/cop/rails/inverse_of.rb +96 -0
  191. data/lib/rubocop/cop/rails/lexically_scoped_action_filter.rb +112 -0
  192. data/lib/rubocop/cop/rails/output.rb +9 -0
  193. data/lib/rubocop/cop/rails/output_safety.rb +14 -20
  194. data/lib/rubocop/cop/rails/pluralization_grammar.rb +8 -8
  195. data/lib/rubocop/cop/rails/presence.rb +105 -0
  196. data/lib/rubocop/cop/rails/read_write_attribute.rb +10 -10
  197. data/lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb +91 -0
  198. data/lib/rubocop/cop/rails/relative_date_constant.rb +9 -9
  199. data/lib/rubocop/cop/rails/reversible_migration.rb +3 -4
  200. data/lib/rubocop/cop/rails/safe_navigation.rb +5 -6
  201. data/lib/rubocop/cop/rails/save_bang.rb +2 -2
  202. data/lib/rubocop/cop/rails/uniq_before_pluck.rb +1 -1
  203. data/lib/rubocop/cop/rails/validation.rb +7 -7
  204. data/lib/rubocop/cop/security/json_load.rb +4 -2
  205. data/lib/rubocop/cop/security/marshal_load.rb +4 -2
  206. data/lib/rubocop/cop/style/alias.rb +24 -26
  207. data/lib/rubocop/cop/style/and_or.rb +34 -28
  208. data/lib/rubocop/cop/style/array_join.rb +9 -0
  209. data/lib/rubocop/cop/style/ascii_comments.rb +24 -4
  210. data/lib/rubocop/cop/style/attr.rb +14 -4
  211. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +5 -3
  212. data/lib/rubocop/cop/style/bare_percent_literals.rb +31 -10
  213. data/lib/rubocop/cop/style/block_comments.rb +14 -2
  214. data/lib/rubocop/cop/style/block_delimiters.rb +80 -15
  215. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +81 -48
  216. data/lib/rubocop/cop/style/case_equality.rb +12 -0
  217. data/lib/rubocop/cop/style/character_literal.rb +10 -0
  218. data/lib/rubocop/cop/style/class_and_module_children.rb +6 -2
  219. data/lib/rubocop/cop/style/class_check.rb +28 -9
  220. data/lib/rubocop/cop/style/class_methods.rb +8 -8
  221. data/lib/rubocop/cop/style/class_vars.rb +4 -3
  222. data/lib/rubocop/cop/style/collection_methods.rb +4 -2
  223. data/lib/rubocop/cop/style/colon_method_call.rb +16 -0
  224. data/lib/rubocop/cop/style/colon_method_definition.rb +36 -0
  225. data/lib/rubocop/cop/style/command_literal.rb +70 -21
  226. data/lib/rubocop/cop/style/comment_annotation.rb +35 -10
  227. data/lib/rubocop/cop/style/commented_keyword.rb +12 -9
  228. data/lib/rubocop/cop/style/conditional_assignment.rb +10 -12
  229. data/lib/rubocop/cop/style/copyright.rb +19 -20
  230. data/lib/rubocop/cop/style/date_time.rb +2 -2
  231. data/lib/rubocop/cop/style/def_with_parentheses.rb +27 -2
  232. data/lib/rubocop/cop/style/dir.rb +2 -2
  233. data/lib/rubocop/cop/style/documentation.rb +17 -2
  234. data/lib/rubocop/cop/style/each_for_simple_loop.rb +7 -7
  235. data/lib/rubocop/cop/style/each_with_object.rb +5 -5
  236. data/lib/rubocop/cop/style/empty_block_parameter.rb +47 -0
  237. data/lib/rubocop/cop/style/empty_case_condition.rb +2 -2
  238. data/lib/rubocop/cop/style/empty_else.rb +52 -22
  239. data/lib/rubocop/cop/style/empty_lambda_parameter.rb +43 -0
  240. data/lib/rubocop/cop/style/empty_literal.rb +17 -5
  241. data/lib/rubocop/cop/style/empty_method.rb +4 -10
  242. data/lib/rubocop/cop/style/encoding.rb +2 -1
  243. data/lib/rubocop/cop/style/eval_with_location.rb +146 -0
  244. data/lib/rubocop/cop/style/even_odd.rb +4 -2
  245. data/lib/rubocop/cop/style/extend_self.rb +92 -0
  246. data/lib/rubocop/cop/style/flip_flop.rb +11 -0
  247. data/lib/rubocop/cop/style/format_string.rb +29 -2
  248. data/lib/rubocop/cop/style/format_string_token.rb +15 -14
  249. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +4 -3
  250. data/lib/rubocop/cop/style/global_vars.rb +11 -1
  251. data/lib/rubocop/cop/style/hash_syntax.rb +44 -43
  252. data/lib/rubocop/cop/style/identical_conditional_branches.rb +8 -8
  253. data/lib/rubocop/cop/style/if_inside_else.rb +10 -10
  254. data/lib/rubocop/cop/style/if_unless_modifier.rb +7 -7
  255. data/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +2 -2
  256. data/lib/rubocop/cop/style/if_with_semicolon.rb +9 -0
  257. data/lib/rubocop/cop/style/implicit_runtime_error.rb +5 -5
  258. data/lib/rubocop/cop/style/infinite_loop.rb +2 -2
  259. data/lib/rubocop/cop/style/lambda.rb +23 -31
  260. data/lib/rubocop/cop/style/lambda_call.rb +15 -9
  261. data/lib/rubocop/cop/style/line_end_concatenation.rb +4 -4
  262. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +2 -2
  263. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +2 -2
  264. data/lib/rubocop/cop/style/method_def_parentheses.rb +4 -3
  265. data/lib/rubocop/cop/style/method_missing.rb +8 -8
  266. data/lib/rubocop/cop/style/min_max.rb +12 -12
  267. data/lib/rubocop/cop/style/missing_else.rb +5 -4
  268. data/lib/rubocop/cop/style/mixin_grouping.rb +29 -19
  269. data/lib/rubocop/cop/style/mixin_usage.rb +8 -10
  270. data/lib/rubocop/cop/style/module_function.rb +17 -5
  271. data/lib/rubocop/cop/style/multiline_if_modifier.rb +4 -4
  272. data/lib/rubocop/cop/style/multiline_if_then.rb +14 -13
  273. data/lib/rubocop/cop/style/multiline_memoization.rb +8 -14
  274. data/lib/rubocop/cop/style/mutable_constant.rb +12 -12
  275. data/lib/rubocop/cop/style/negated_if.rb +22 -30
  276. data/lib/rubocop/cop/style/negated_while.rb +1 -5
  277. data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +18 -17
  278. data/lib/rubocop/cop/style/next.rb +39 -11
  279. data/lib/rubocop/cop/style/nil_comparison.rb +6 -6
  280. data/lib/rubocop/cop/style/non_nil_check.rb +25 -22
  281. data/lib/rubocop/cop/style/not.rb +14 -4
  282. data/lib/rubocop/cop/style/numeric_literal_prefix.rb +6 -6
  283. data/lib/rubocop/cop/style/numeric_literals.rb +7 -7
  284. data/lib/rubocop/cop/style/numeric_predicate.rb +14 -18
  285. data/lib/rubocop/cop/style/one_line_conditional.rb +4 -4
  286. data/lib/rubocop/cop/style/option_hash.rb +11 -14
  287. data/lib/rubocop/cop/style/or_assignment.rb +2 -2
  288. data/lib/rubocop/cop/style/parallel_assignment.rb +13 -13
  289. data/lib/rubocop/cop/style/parentheses_around_condition.rb +19 -3
  290. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +24 -3
  291. data/lib/rubocop/cop/style/percent_q_literals.rb +27 -6
  292. data/lib/rubocop/cop/style/perl_backrefs.rb +7 -0
  293. data/lib/rubocop/cop/style/preferred_hash_methods.rb +6 -10
  294. data/lib/rubocop/cop/style/proc.rb +8 -0
  295. data/lib/rubocop/cop/style/raise_args.rb +8 -14
  296. data/lib/rubocop/cop/style/random_with_offset.rb +160 -0
  297. data/lib/rubocop/cop/style/redundant_begin.rb +14 -4
  298. data/lib/rubocop/cop/style/redundant_conditional.rb +9 -8
  299. data/lib/rubocop/cop/style/redundant_return.rb +5 -4
  300. data/lib/rubocop/cop/style/redundant_self.rb +25 -26
  301. data/lib/rubocop/cop/style/regexp_literal.rb +74 -21
  302. data/lib/rubocop/cop/style/rescue_modifier.rb +11 -0
  303. data/lib/rubocop/cop/style/rescue_standard_error.rb +122 -0
  304. data/lib/rubocop/cop/style/return_nil.rb +4 -8
  305. data/lib/rubocop/cop/style/safe_navigation.rb +20 -2
  306. data/lib/rubocop/cop/style/self_assignment.rb +13 -13
  307. data/lib/rubocop/cop/style/semicolon.rb +18 -8
  308. data/lib/rubocop/cop/style/send.rb +9 -0
  309. data/lib/rubocop/cop/style/signal_exception.rb +100 -0
  310. data/lib/rubocop/cop/style/single_line_block_params.rb +2 -2
  311. data/lib/rubocop/cop/style/single_line_methods.rb +20 -8
  312. data/lib/rubocop/cop/style/special_global_vars.rb +16 -11
  313. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +7 -12
  314. data/lib/rubocop/cop/style/stderr_puts.rb +5 -3
  315. data/lib/rubocop/cop/style/string_hash_keys.rb +36 -0
  316. data/lib/rubocop/cop/style/string_literals.rb +22 -0
  317. data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +2 -8
  318. data/lib/rubocop/cop/style/string_methods.rb +18 -7
  319. data/lib/rubocop/cop/style/symbol_array.rb +5 -9
  320. data/lib/rubocop/cop/style/symbol_proc.rb +5 -4
  321. data/lib/rubocop/cop/style/ternary_parentheses.rb +31 -40
  322. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +101 -0
  323. data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +20 -6
  324. data/lib/rubocop/cop/style/trailing_comma_in_literal.rb +22 -7
  325. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +95 -0
  326. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +8 -4
  327. data/lib/rubocop/cop/style/trivial_accessors.rb +32 -10
  328. data/lib/rubocop/cop/style/unless_else.rb +15 -0
  329. data/lib/rubocop/cop/style/unneeded_capital_w.rb +17 -7
  330. data/lib/rubocop/cop/style/unneeded_interpolation.rb +14 -18
  331. data/lib/rubocop/cop/style/unneeded_percent_q.rb +13 -12
  332. data/lib/rubocop/cop/style/variable_interpolation.rb +20 -9
  333. data/lib/rubocop/cop/style/when_then.rb +13 -0
  334. data/lib/rubocop/cop/style/while_until_do.rb +26 -4
  335. data/lib/rubocop/cop/style/while_until_modifier.rb +25 -6
  336. data/lib/rubocop/cop/style/word_array.rb +4 -8
  337. data/lib/rubocop/cop/style/yoda_condition.rb +10 -16
  338. data/lib/rubocop/cop/style/zero_length_predicate.rb +23 -15
  339. data/lib/rubocop/cop/util.rb +42 -33
  340. data/lib/rubocop/cop/variable_force.rb +1 -1
  341. data/lib/rubocop/cop/variable_force/assignment.rb +4 -2
  342. data/lib/rubocop/cop/variable_force/scope.rb +1 -5
  343. data/lib/rubocop/cop/variable_force/variable.rb +1 -1
  344. data/lib/rubocop/formatter/disabled_config_formatter.rb +2 -3
  345. data/lib/rubocop/formatter/formatter_set.rb +2 -1
  346. data/lib/rubocop/formatter/json_formatter.rb +9 -3
  347. data/lib/rubocop/formatter/quiet_formatter.rb +13 -0
  348. data/lib/rubocop/node_pattern.rb +2 -3
  349. data/lib/rubocop/options.rb +8 -8
  350. data/lib/rubocop/path_util.rb +15 -3
  351. data/lib/rubocop/processed_source.rb +5 -2
  352. data/lib/rubocop/rspec/shared_contexts.rb +4 -0
  353. data/lib/rubocop/runner.rb +1 -1
  354. data/lib/rubocop/token.rb +74 -0
  355. data/lib/rubocop/version.rb +1 -1
  356. metadata +37 -10
  357. data/lib/rubocop/cop/internal_affairs/deprecated_positional_arguments.rb +0 -81
  358. data/lib/rubocop/cop/layout/space_inside_brackets.rb +0 -20
  359. data/lib/rubocop/cop/lint/rescue_without_error_class.rb +0 -41
  360. data/lib/rubocop/cop/mixin/space_inside.rb +0 -76
@@ -64,9 +64,15 @@ module RuboCop
64
64
  # TODO: Consider better solution for Offense#real_column.
65
65
  def hash_for_location(offense)
66
66
  {
67
- line: offense.line,
68
- column: offense.real_column,
69
- length: offense.location.length
67
+ start_line: offense.line,
68
+ start_column: offense.real_column,
69
+ last_line: offense.last_line,
70
+ last_column: offense.last_column,
71
+ length: offense.location.length,
72
+ # `line` and `column` exist for compatibility.
73
+ # Use `start_line` and `start_column` instead.
74
+ line: offense.line,
75
+ column: offense.real_column
70
76
  }
71
77
  end
72
78
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RuboCop
4
+ module Formatter
5
+ # If no offenses are found, no output is displayed.
6
+ # Otherwise, SimpleTextFormatter's output is displayed.
7
+ class QuietFormatter < SimpleTextFormatter
8
+ def report_summary(file_count, offense_count, correction_count)
9
+ super unless offense_count.zero?
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Metrics/ClassLength
4
- # rubocop:disable Metrics/CyclomaticComplexity
5
-
3
+ # rubocop:disable Metrics/ClassLength, Metrics/CyclomaticComplexity
6
4
  module RuboCop
7
5
  # This class performs a pattern-matching operation on an AST node.
8
6
  #
@@ -559,3 +557,4 @@ module RuboCop
559
557
  end
560
558
  end
561
559
  end
560
+ # rubocop:enable Metrics/ClassLength, Metrics/CyclomaticComplexity
@@ -17,9 +17,6 @@ module RuboCop
17
17
  def parse(command_line_args)
18
18
  args = args_from_file.concat(args_from_env).concat(command_line_args)
19
19
  define_options(args).parse!(args)
20
- # The --no-color CLI option sets `color: false` so we don't want the
21
- # `no_color` key, which is created automatically.
22
- @options.delete(:no_color)
23
20
 
24
21
  @validator.validate_compatibility
25
22
 
@@ -143,7 +140,7 @@ module RuboCop
143
140
  option(opts, '-F', '--fail-fast')
144
141
  option(opts, '-C', '--cache FLAG')
145
142
  option(opts, '-d', '--debug')
146
- option(opts, '-D', '--display-cop-names')
143
+ option(opts, '-D', '--[no-]display-cop-names')
147
144
  option(opts, '-E', '--extra-details')
148
145
  option(opts, '-S', '--display-style-guide')
149
146
  option(opts, '-R', '--rails')
@@ -153,7 +150,7 @@ module RuboCop
153
150
  end
154
151
  option(opts, '-a', '--auto-correct')
155
152
 
156
- option(opts, '--[no-]color') { |c| @options[:color] = c }
153
+ option(opts, '--[no-]color')
157
154
 
158
155
  option(opts, '-v', '--version')
159
156
  option(opts, '-V', '--verbose-version')
@@ -179,7 +176,8 @@ module RuboCop
179
176
  # e.g. [..., '--auto-correct', ...] to :auto_correct.
180
177
  def long_opt_symbol(args)
181
178
  long_opt = args.find { |arg| arg.start_with?('--') }
182
- long_opt[2..-1].sub(/ .*/, '').tr('-', '_').gsub(/[\[\]]/, '').to_sym
179
+ long_opt[2..-1].sub('[no-]', '').sub(/ .*/, '')
180
+ .tr('-', '_').gsub(/[\[\]]/, '').to_sym
183
181
  end
184
182
  end
185
183
 
@@ -324,6 +322,7 @@ module RuboCop
324
322
  ' [o]ffenses',
325
323
  ' [w]orst',
326
324
  ' [t]ap',
325
+ ' [q]uiet',
327
326
  ' custom formatter class name'],
328
327
  out: ['Write output to a file instead of STDOUT.',
329
328
  'This option applies to the previously',
@@ -341,14 +340,15 @@ module RuboCop
341
340
  '(FLAG=false), default determined by',
342
341
  'configuration parameter AllCops: UseCache.'],
343
342
  debug: 'Display debug info.',
344
- display_cop_names: 'Display cop names in offense messages.',
343
+ display_cop_names: ['Display cop names in offense messages.',
344
+ 'Default is true.'],
345
345
  display_style_guide: 'Display style guide URLs in offense messages.',
346
346
  extra_details: 'Display extra details in offense messages.',
347
347
  rails: 'Run extra Rails cops.',
348
348
  lint: 'Run only lint cops.',
349
349
  list_target_files: 'List all files RuboCop will inspect.',
350
350
  auto_correct: 'Auto-correct offenses.',
351
- no_color: 'Force color output on or off.',
351
+ color: 'Force color output on or off.',
352
352
  version: 'Display version.',
353
353
  verbose_version: 'Display verbose version.',
354
354
  parallel: ['Use available CPUs to execute inspection in',
@@ -5,10 +5,14 @@ module RuboCop
5
5
  module PathUtil
6
6
  module_function
7
7
 
8
- def relative_path(path, base_dir = Dir.pwd)
8
+ def relative_path(path, base_dir = PathUtil.pwd)
9
9
  # Optimization for the common case where path begins with the base
10
10
  # dir. Just cut off the first part.
11
- return path[(base_dir.length + 1)..-1] if path.start_with?(base_dir)
11
+ if path.start_with?(base_dir)
12
+ base_dir_length = base_dir.length
13
+ result_length = path.length - base_dir_length - 1
14
+ return path[base_dir_length + 1, result_length]
15
+ end
12
16
 
13
17
  path_name = Pathname.new(File.expand_path(path))
14
18
  path_name.relative_path_from(Pathname.new(base_dir)).to_s
@@ -16,7 +20,7 @@ module RuboCop
16
20
 
17
21
  def smart_path(path)
18
22
  # Ideally, we calculate this relative to the project root.
19
- base_dir = Dir.pwd
23
+ base_dir = PathUtil.pwd
20
24
 
21
25
  if path.start_with? base_dir
22
26
  relative_path(path, base_dir)
@@ -43,5 +47,13 @@ module RuboCop
43
47
  def absolute?(path)
44
48
  path =~ %r{\A([A-Z]:)?/}
45
49
  end
50
+
51
+ def self.pwd
52
+ @pwd ||= Dir.pwd
53
+ end
54
+
55
+ def self.reset_pwd
56
+ @pwd = nil
57
+ end
46
58
  end
47
59
  end
@@ -54,7 +54,7 @@ module RuboCop
54
54
  def lines
55
55
  @lines ||= begin
56
56
  all_lines = @buffer.source_lines
57
- last_token_line = tokens.any? ? tokens.last.pos.line : all_lines.size
57
+ last_token_line = tokens.any? ? tokens.last.line : all_lines.size
58
58
  result = []
59
59
  all_lines.each_with_index do |line, ix|
60
60
  break if ix >= last_token_line && line == '__END__'
@@ -122,6 +122,9 @@ module RuboCop
122
122
  when 2.4
123
123
  require 'parser/ruby24'
124
124
  Parser::Ruby24
125
+ when 2.5
126
+ require 'parser/ruby25'
127
+ Parser::Ruby25
125
128
  else
126
129
  raise ArgumentError, "Unknown Ruby version: #{ruby_version.inspect}"
127
130
  end
@@ -132,7 +135,7 @@ module RuboCop
132
135
  builder = RuboCop::AST::Builder.new
133
136
 
134
137
  parser_class(ruby_version).new(builder).tap do |parser|
135
- # On JRuby and Rubinius, there's a risk that we hang in tokenize() if we
138
+ # On JRuby there's a risk that we hang in tokenize() if we
136
139
  # don't set the all errors as fatal flag. The problem is caused by a bug
137
140
  # in Racc that is discussed in issue #93 of the whitequark/parser
138
141
  # project on GitHub.
@@ -73,6 +73,10 @@ shared_context 'ruby 2.4', :ruby24 do
73
73
  let(:ruby_version) { 2.4 }
74
74
  end
75
75
 
76
+ shared_context 'ruby 2.5', :ruby25 do
77
+ let(:ruby_version) { 2.5 }
78
+ end
79
+
76
80
  shared_context 'with Rails', :enabled_rails do
77
81
  let(:enabled_rails) { true }
78
82
  end
@@ -47,7 +47,7 @@ module RuboCop
47
47
  private
48
48
 
49
49
  # Warms up the RuboCop cache by forking a suitable number of rubocop
50
- # instances that each inspects its alotted group of files.
50
+ # instances that each inspects its allotted group of files.
51
51
  def warm_cache(target_files)
52
52
  puts 'Running parallel inspection' if @options[:debug]
53
53
  Parallel.each(target_files, &method(:file_offenses))
@@ -18,8 +18,82 @@ module RuboCop
18
18
  @text = text.to_s
19
19
  end
20
20
 
21
+ def line
22
+ pos.line
23
+ end
24
+
25
+ def column
26
+ pos.column
27
+ end
28
+
29
+ def begin_pos
30
+ pos.begin_pos
31
+ end
32
+
33
+ def end_pos
34
+ pos.end_pos
35
+ end
36
+
37
+ def comment?
38
+ type == :tCOMMENT
39
+ end
40
+
41
+ def semicolon?
42
+ type == :tSEMI
43
+ end
44
+
45
+ def left_array_bracket?
46
+ type == :tLBRACK
47
+ end
48
+
49
+ def left_ref_bracket?
50
+ type == :tLBRACK2
51
+ end
52
+
53
+ def right_bracket?
54
+ type == :tRBRACK
55
+ end
56
+
57
+ def left_brace?
58
+ type == :tLBRACE
59
+ end
60
+
61
+ def left_curly_brace?
62
+ type == :tLCURLY
63
+ end
64
+
65
+ def right_curly_brace?
66
+ type == :tRCURLY
67
+ end
68
+
69
+ def left_parens?
70
+ %i[tLPAREN tLPAREN2].include?(type)
71
+ end
72
+
73
+ def right_parens?
74
+ type == :tRPAREN
75
+ end
76
+
77
+ def comma?
78
+ type == :tCOMMA
79
+ end
80
+
81
+ def equal_sign?
82
+ %i[tEQL tOP_ASGN].include?(type)
83
+ end
84
+
21
85
  def to_s
22
86
  "[[#{@pos.line}, #{@pos.column}], #{@type}, #{@text.inspect}]"
23
87
  end
88
+
89
+ # Checks if there is whitespace after token
90
+ def space_after?
91
+ pos.source_buffer.source.match(/\G\s/, end_pos)
92
+ end
93
+
94
+ # Checks if there is whitespace before token
95
+ def space_before?
96
+ pos.source_buffer.source.match(/\G\s/, begin_pos - 1)
97
+ end
24
98
  end
25
99
  end
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '0.51.0'.freeze
6
+ STRING = '0.52.0'.freeze
7
7
 
8
8
  MSG = '%s (using Parser %s, running on %s %s %s)'.freeze
9
9
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.51.0
4
+ version: 0.52.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-10-18 00:00:00.000000000 Z
13
+ date: 2017-12-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: parallel
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: 2.3.3.1
35
+ version: 2.4.0.2
36
36
  - - "<"
37
37
  - !ruby/object:Gem::Version
38
38
  version: '3.0'
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 2.3.3.1
45
+ version: 2.4.0.2
46
46
  - - "<"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '3.0'
@@ -69,7 +69,7 @@ dependencies:
69
69
  version: 2.2.2
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: '3.0'
72
+ version: '4.0'
73
73
  type: :runtime
74
74
  prerelease: false
75
75
  version_requirements: !ruby/object:Gem::Requirement
@@ -79,7 +79,7 @@ dependencies:
79
79
  version: 2.2.2
80
80
  - - "<"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.0'
82
+ version: '4.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: ruby-progressbar
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -161,6 +161,7 @@ files:
161
161
  - lib/rubocop/ast/node/hash_node.rb
162
162
  - lib/rubocop/ast/node/if_node.rb
163
163
  - lib/rubocop/ast/node/keyword_splat_node.rb
164
+ - lib/rubocop/ast/node/mixin/basic_literal_node.rb
164
165
  - lib/rubocop/ast/node/mixin/binary_operator_node.rb
165
166
  - lib/rubocop/ast/node/mixin/collection_node.rb
166
167
  - lib/rubocop/ast/node/mixin/conditional_node.rb
@@ -175,7 +176,9 @@ files:
175
176
  - lib/rubocop/ast/node/regexp_node.rb
176
177
  - lib/rubocop/ast/node/resbody_node.rb
177
178
  - lib/rubocop/ast/node/send_node.rb
179
+ - lib/rubocop/ast/node/str_node.rb
178
180
  - lib/rubocop/ast/node/super_node.rb
181
+ - lib/rubocop/ast/node/symbol_node.rb
179
182
  - lib/rubocop/ast/node/until_node.rb
180
183
  - lib/rubocop/ast/node/when_node.rb
181
184
  - lib/rubocop/ast/node/while_node.rb
@@ -198,11 +201,13 @@ files:
198
201
  - lib/rubocop/cop/cop.rb
199
202
  - lib/rubocop/cop/corrector.rb
200
203
  - lib/rubocop/cop/force.rb
204
+ - lib/rubocop/cop/gemspec/duplicated_assignment.rb
201
205
  - lib/rubocop/cop/gemspec/ordered_dependencies.rb
206
+ - lib/rubocop/cop/gemspec/required_ruby_version.rb
202
207
  - lib/rubocop/cop/generator.rb
203
208
  - lib/rubocop/cop/ignored_node.rb
204
209
  - lib/rubocop/cop/internal_affairs.rb
205
- - lib/rubocop/cop/internal_affairs/deprecated_positional_arguments.rb
210
+ - lib/rubocop/cop/internal_affairs/node_destructuring.rb
206
211
  - lib/rubocop/cop/internal_affairs/node_type_predicate.rb
207
212
  - lib/rubocop/cop/internal_affairs/offense_location_keyword.rb
208
213
  - lib/rubocop/cop/internal_affairs/redundant_location_argument.rb
@@ -214,6 +219,7 @@ files:
214
219
  - lib/rubocop/cop/layout/align_parameters.rb
215
220
  - lib/rubocop/cop/layout/block_end_newline.rb
216
221
  - lib/rubocop/cop/layout/case_indentation.rb
222
+ - lib/rubocop/cop/layout/class_structure.rb
217
223
  - lib/rubocop/cop/layout/closing_parenthesis_indentation.rb
218
224
  - lib/rubocop/cop/layout/comment_indentation.rb
219
225
  - lib/rubocop/cop/layout/dot_position.rb
@@ -222,6 +228,7 @@ files:
222
228
  - lib/rubocop/cop/layout/empty_line_between_defs.rb
223
229
  - lib/rubocop/cop/layout/empty_lines.rb
224
230
  - lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb
231
+ - lib/rubocop/cop/layout/empty_lines_around_arguments.rb
225
232
  - lib/rubocop/cop/layout/empty_lines_around_begin_body.rb
226
233
  - lib/rubocop/cop/layout/empty_lines_around_block_body.rb
227
234
  - lib/rubocop/cop/layout/empty_lines_around_class_body.rb
@@ -267,13 +274,14 @@ files:
267
274
  - lib/rubocop/cop/layout/space_before_first_arg.rb
268
275
  - lib/rubocop/cop/layout/space_before_semicolon.rb
269
276
  - lib/rubocop/cop/layout/space_in_lambda_literal.rb
277
+ - lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb
270
278
  - lib/rubocop/cop/layout/space_inside_array_percent_literal.rb
271
279
  - lib/rubocop/cop/layout/space_inside_block_braces.rb
272
- - lib/rubocop/cop/layout/space_inside_brackets.rb
273
280
  - lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb
274
281
  - lib/rubocop/cop/layout/space_inside_parens.rb
275
282
  - lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb
276
283
  - lib/rubocop/cop/layout/space_inside_range_literal.rb
284
+ - lib/rubocop/cop/layout/space_inside_reference_brackets.rb
277
285
  - lib/rubocop/cop/layout/space_inside_string_interpolation.rb
278
286
  - lib/rubocop/cop/layout/tab.rb
279
287
  - lib/rubocop/cop/layout/trailing_blank_lines.rb
@@ -311,8 +319,10 @@ files:
311
319
  - lib/rubocop/cop/lint/literal_as_condition.rb
312
320
  - lib/rubocop/cop/lint/literal_in_interpolation.rb
313
321
  - lib/rubocop/cop/lint/loop.rb
322
+ - lib/rubocop/cop/lint/missing_cop_enable_directive.rb
314
323
  - lib/rubocop/cop/lint/multiple_compare.rb
315
324
  - lib/rubocop/cop/lint/nested_method_definition.rb
325
+ - lib/rubocop/cop/lint/nested_percent_literal.rb
316
326
  - lib/rubocop/cop/lint/next_without_accumulator.rb
317
327
  - lib/rubocop/cop/lint/non_local_exit_from_iterator.rb
318
328
  - lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb
@@ -325,10 +335,10 @@ files:
325
335
  - lib/rubocop/cop/lint/require_parentheses.rb
326
336
  - lib/rubocop/cop/lint/rescue_exception.rb
327
337
  - lib/rubocop/cop/lint/rescue_type.rb
328
- - lib/rubocop/cop/lint/rescue_without_error_class.rb
329
338
  - lib/rubocop/cop/lint/return_in_void_context.rb
330
339
  - lib/rubocop/cop/lint/safe_navigation_chain.rb
331
340
  - lib/rubocop/cop/lint/script_permission.rb
341
+ - lib/rubocop/cop/lint/shadowed_argument.rb
332
342
  - lib/rubocop/cop/lint/shadowed_exception.rb
333
343
  - lib/rubocop/cop/lint/shadowing_outer_local_variable.rb
334
344
  - lib/rubocop/cop/lint/string_conversion_in_interpolation.rb
@@ -377,6 +387,7 @@ files:
377
387
  - lib/rubocop/cop/mixin/documentation_comment.rb
378
388
  - lib/rubocop/cop/mixin/duplication.rb
379
389
  - lib/rubocop/cop/mixin/empty_lines_around_body.rb
390
+ - lib/rubocop/cop/mixin/empty_parameter.rb
380
391
  - lib/rubocop/cop/mixin/end_keyword_alignment.rb
381
392
  - lib/rubocop/cop/mixin/enforce_superclass.rb
382
393
  - lib/rubocop/cop/mixin/first_element_line_break.rb
@@ -404,7 +415,6 @@ files:
404
415
  - lib/rubocop/cop/mixin/safe_mode.rb
405
416
  - lib/rubocop/cop/mixin/space_after_punctuation.rb
406
417
  - lib/rubocop/cop/mixin/space_before_punctuation.rb
407
- - lib/rubocop/cop/mixin/space_inside.rb
408
418
  - lib/rubocop/cop/mixin/statement_modifier.rb
409
419
  - lib/rubocop/cop/mixin/string_help.rb
410
420
  - lib/rubocop/cop/mixin/string_literals_help.rb
@@ -458,11 +468,13 @@ files:
458
468
  - lib/rubocop/cop/rails/application_job.rb
459
469
  - lib/rubocop/cop/rails/application_record.rb
460
470
  - lib/rubocop/cop/rails/blank.rb
471
+ - lib/rubocop/cop/rails/create_table_with_timestamps.rb
461
472
  - lib/rubocop/cop/rails/date.rb
462
473
  - lib/rubocop/cop/rails/delegate.rb
463
474
  - lib/rubocop/cop/rails/delegate_allow_blank.rb
464
475
  - lib/rubocop/cop/rails/dynamic_find_by.rb
465
476
  - lib/rubocop/cop/rails/enum_uniqueness.rb
477
+ - lib/rubocop/cop/rails/environment_comparison.rb
466
478
  - lib/rubocop/cop/rails/exit.rb
467
479
  - lib/rubocop/cop/rails/file_path.rb
468
480
  - lib/rubocop/cop/rails/find_by.rb
@@ -470,12 +482,16 @@ files:
470
482
  - lib/rubocop/cop/rails/has_and_belongs_to_many.rb
471
483
  - lib/rubocop/cop/rails/has_many_or_has_one_dependent.rb
472
484
  - lib/rubocop/cop/rails/http_positional_arguments.rb
485
+ - lib/rubocop/cop/rails/inverse_of.rb
486
+ - lib/rubocop/cop/rails/lexically_scoped_action_filter.rb
473
487
  - lib/rubocop/cop/rails/not_null_column.rb
474
488
  - lib/rubocop/cop/rails/output.rb
475
489
  - lib/rubocop/cop/rails/output_safety.rb
476
490
  - lib/rubocop/cop/rails/pluralization_grammar.rb
491
+ - lib/rubocop/cop/rails/presence.rb
477
492
  - lib/rubocop/cop/rails/present.rb
478
493
  - lib/rubocop/cop/rails/read_write_attribute.rb
494
+ - lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb
479
495
  - lib/rubocop/cop/rails/relative_date_constant.rb
480
496
  - lib/rubocop/cop/rails/request_referer.rb
481
497
  - lib/rubocop/cop/rails/reversible_migration.rb
@@ -512,6 +528,7 @@ files:
512
528
  - lib/rubocop/cop/style/class_vars.rb
513
529
  - lib/rubocop/cop/style/collection_methods.rb
514
530
  - lib/rubocop/cop/style/colon_method_call.rb
531
+ - lib/rubocop/cop/style/colon_method_definition.rb
515
532
  - lib/rubocop/cop/style/command_literal.rb
516
533
  - lib/rubocop/cop/style/comment_annotation.rb
517
534
  - lib/rubocop/cop/style/commented_keyword.rb
@@ -525,13 +542,17 @@ files:
525
542
  - lib/rubocop/cop/style/double_negation.rb
526
543
  - lib/rubocop/cop/style/each_for_simple_loop.rb
527
544
  - lib/rubocop/cop/style/each_with_object.rb
545
+ - lib/rubocop/cop/style/empty_block_parameter.rb
528
546
  - lib/rubocop/cop/style/empty_case_condition.rb
529
547
  - lib/rubocop/cop/style/empty_else.rb
548
+ - lib/rubocop/cop/style/empty_lambda_parameter.rb
530
549
  - lib/rubocop/cop/style/empty_literal.rb
531
550
  - lib/rubocop/cop/style/empty_method.rb
532
551
  - lib/rubocop/cop/style/encoding.rb
533
552
  - lib/rubocop/cop/style/end_block.rb
553
+ - lib/rubocop/cop/style/eval_with_location.rb
534
554
  - lib/rubocop/cop/style/even_odd.rb
555
+ - lib/rubocop/cop/style/extend_self.rb
535
556
  - lib/rubocop/cop/style/flip_flop.rb
536
557
  - lib/rubocop/cop/style/for.rb
537
558
  - lib/rubocop/cop/style/format_string.rb
@@ -593,6 +614,7 @@ files:
593
614
  - lib/rubocop/cop/style/preferred_hash_methods.rb
594
615
  - lib/rubocop/cop/style/proc.rb
595
616
  - lib/rubocop/cop/style/raise_args.rb
617
+ - lib/rubocop/cop/style/random_with_offset.rb
596
618
  - lib/rubocop/cop/style/redundant_begin.rb
597
619
  - lib/rubocop/cop/style/redundant_conditional.rb
598
620
  - lib/rubocop/cop/style/redundant_exception.rb
@@ -602,6 +624,7 @@ files:
602
624
  - lib/rubocop/cop/style/redundant_self.rb
603
625
  - lib/rubocop/cop/style/regexp_literal.rb
604
626
  - lib/rubocop/cop/style/rescue_modifier.rb
627
+ - lib/rubocop/cop/style/rescue_standard_error.rb
605
628
  - lib/rubocop/cop/style/return_nil.rb
606
629
  - lib/rubocop/cop/style/safe_navigation.rb
607
630
  - lib/rubocop/cop/style/self_assignment.rb
@@ -613,6 +636,7 @@ files:
613
636
  - lib/rubocop/cop/style/special_global_vars.rb
614
637
  - lib/rubocop/cop/style/stabby_lambda_parentheses.rb
615
638
  - lib/rubocop/cop/style/stderr_puts.rb
639
+ - lib/rubocop/cop/style/string_hash_keys.rb
616
640
  - lib/rubocop/cop/style/string_literals.rb
617
641
  - lib/rubocop/cop/style/string_literals_in_interpolation.rb
618
642
  - lib/rubocop/cop/style/string_methods.rb
@@ -621,8 +645,10 @@ files:
621
645
  - lib/rubocop/cop/style/symbol_literal.rb
622
646
  - lib/rubocop/cop/style/symbol_proc.rb
623
647
  - lib/rubocop/cop/style/ternary_parentheses.rb
648
+ - lib/rubocop/cop/style/trailing_body_on_method_definition.rb
624
649
  - lib/rubocop/cop/style/trailing_comma_in_arguments.rb
625
650
  - lib/rubocop/cop/style/trailing_comma_in_literal.rb
651
+ - lib/rubocop/cop/style/trailing_method_end_statement.rb
626
652
  - lib/rubocop/cop/style/trailing_underscore_variable.rb
627
653
  - lib/rubocop/cop/style/trivial_accessors.rb
628
654
  - lib/rubocop/cop/style/unless_else.rb
@@ -660,6 +686,7 @@ files:
660
686
  - lib/rubocop/formatter/json_formatter.rb
661
687
  - lib/rubocop/formatter/offense_count_formatter.rb
662
688
  - lib/rubocop/formatter/progress_formatter.rb
689
+ - lib/rubocop/formatter/quiet_formatter.rb
663
690
  - lib/rubocop/formatter/simple_text_formatter.rb
664
691
  - lib/rubocop/formatter/tap_formatter.rb
665
692
  - lib/rubocop/formatter/text_util.rb