rubocop 1.40.0 → 1.41.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/config/default.yml +19 -0
  4. data/lib/rubocop/config.rb +28 -5
  5. data/lib/rubocop/config_loader.rb +9 -0
  6. data/lib/rubocop/config_validator.rb +1 -1
  7. data/lib/rubocop/cop/badge.rb +9 -4
  8. data/lib/rubocop/cop/base.rb +25 -9
  9. data/lib/rubocop/cop/commissioner.rb +8 -3
  10. data/lib/rubocop/cop/cop.rb +1 -1
  11. data/lib/rubocop/cop/internal_affairs/cop_description.rb +3 -1
  12. data/lib/rubocop/cop/layout/class_structure.rb +0 -1
  13. data/lib/rubocop/cop/layout/empty_lines.rb +2 -0
  14. data/lib/rubocop/cop/layout/extra_spacing.rb +10 -6
  15. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +38 -2
  16. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +49 -2
  17. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +61 -2
  18. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +52 -2
  19. data/lib/rubocop/cop/layout/indentation_style.rb +3 -1
  20. data/lib/rubocop/cop/layout/line_continuation_leading_space.rb +5 -0
  21. data/lib/rubocop/cop/layout/line_continuation_spacing.rb +7 -1
  22. data/lib/rubocop/cop/layout/line_length.rb +2 -0
  23. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +51 -2
  24. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +49 -2
  25. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +53 -2
  26. data/lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb +58 -2
  27. data/lib/rubocop/cop/layout/redundant_line_break.rb +2 -2
  28. data/lib/rubocop/cop/layout/trailing_empty_lines.rb +1 -1
  29. data/lib/rubocop/cop/layout/trailing_whitespace.rb +6 -2
  30. data/lib/rubocop/cop/lint/constant_resolution.rb +4 -0
  31. data/lib/rubocop/cop/lint/debugger.rb +3 -1
  32. data/lib/rubocop/cop/lint/duplicate_branch.rb +0 -2
  33. data/lib/rubocop/cop/lint/duplicate_methods.rb +19 -8
  34. data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +10 -5
  35. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +3 -1
  36. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +1 -1
  37. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +8 -19
  38. data/lib/rubocop/cop/metrics/class_length.rb +1 -1
  39. data/lib/rubocop/cop/metrics/module_length.rb +1 -1
  40. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +2 -2
  41. data/lib/rubocop/cop/mixin/alignment.rb +1 -1
  42. data/lib/rubocop/cop/mixin/allowed_identifiers.rb +2 -2
  43. data/lib/rubocop/cop/mixin/annotation_comment.rb +13 -6
  44. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +21 -9
  45. data/lib/rubocop/cop/mixin/first_element_line_break.rb +11 -7
  46. data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +5 -1
  47. data/lib/rubocop/cop/mixin/line_length_help.rb +8 -1
  48. data/lib/rubocop/cop/mixin/method_complexity.rb +5 -3
  49. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +5 -3
  50. data/lib/rubocop/cop/mixin/percent_array.rb +3 -5
  51. data/lib/rubocop/cop/mixin/require_library.rb +2 -0
  52. data/lib/rubocop/cop/mixin/rescue_node.rb +3 -3
  53. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -1
  54. data/lib/rubocop/cop/naming/block_forwarding.rb +1 -1
  55. data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +2 -0
  56. data/lib/rubocop/cop/naming/inclusive_language.rb +4 -1
  57. data/lib/rubocop/cop/registry.rb +6 -3
  58. data/lib/rubocop/cop/style/alias.rb +9 -1
  59. data/lib/rubocop/cop/style/concat_array_literals.rb +66 -0
  60. data/lib/rubocop/cop/style/documentation.rb +11 -5
  61. data/lib/rubocop/cop/style/guard_clause.rb +6 -2
  62. data/lib/rubocop/cop/style/if_with_semicolon.rb +2 -3
  63. data/lib/rubocop/cop/style/inverse_methods.rb +2 -0
  64. data/lib/rubocop/cop/style/line_end_concatenation.rb +4 -1
  65. data/lib/rubocop/cop/style/redundant_constant_base.rb +13 -0
  66. data/lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb +39 -0
  67. data/lib/rubocop/cop/style/redundant_string_escape.rb +2 -1
  68. data/lib/rubocop/cop/style/require_order.rb +61 -9
  69. data/lib/rubocop/cop/style/semicolon.rb +2 -1
  70. data/lib/rubocop/cop/util.rb +31 -4
  71. data/lib/rubocop/cops_documentation_generator.rb +33 -11
  72. data/lib/rubocop/directive_comment.rb +1 -1
  73. data/lib/rubocop/file_patterns.rb +43 -0
  74. data/lib/rubocop/formatter.rb +2 -0
  75. data/lib/rubocop/options.rb +1 -1
  76. data/lib/rubocop/path_util.rb +20 -14
  77. data/lib/rubocop/target_finder.rb +1 -1
  78. data/lib/rubocop/version.rb +1 -1
  79. data/lib/rubocop.rb +3 -1
  80. metadata +6 -4
  81. data/lib/rubocop/optimized_patterns.rb +0 -38
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RuboCop
4
- # @api private
5
- module OptimizedPatterns
6
- # A wrapper around patterns array to perform optimized search.
7
- # @api private
8
- class PatternsSet
9
- def initialize(patterns)
10
- @strings = Set.new
11
- @patterns = []
12
- partition_patterns(patterns)
13
- end
14
-
15
- def match?(path)
16
- @strings.include?(path) || @patterns.any? { |pattern| PathUtil.match_path?(pattern, path) }
17
- end
18
-
19
- private
20
-
21
- def partition_patterns(patterns)
22
- patterns.each do |pattern|
23
- if pattern.is_a?(String) && !pattern.match?(/[*{\[?]/)
24
- @strings << pattern
25
- else
26
- @patterns << pattern
27
- end
28
- end
29
- end
30
- end
31
-
32
- @cache = {}.compare_by_identity
33
-
34
- def self.from(patterns)
35
- @cache[patterns] ||= PatternsSet.new(patterns)
36
- end
37
- end
38
- end