rubocop 1.40.0 → 1.41.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 (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