rubocop 1.48.0 → 1.50.2

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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/config/default.yml +22 -7
  4. data/lib/rubocop/cli/command/execute_runner.rb +7 -2
  5. data/lib/rubocop/cli.rb +6 -6
  6. data/lib/rubocop/config.rb +3 -3
  7. data/lib/rubocop/config_loader.rb +8 -8
  8. data/lib/rubocop/cop/autocorrect_logic.rb +28 -12
  9. data/lib/rubocop/cop/cop.rb +2 -2
  10. data/lib/rubocop/cop/correctors/parentheses_corrector.rb +1 -1
  11. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +2 -2
  12. data/lib/rubocop/cop/gemspec/dependency_version.rb +1 -1
  13. data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +1 -1
  14. data/lib/rubocop/cop/internal_affairs/cop_description.rb +1 -1
  15. data/lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb +2 -2
  16. data/lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb +1 -1
  17. data/lib/rubocop/cop/internal_affairs/redundant_source_range.rb +29 -2
  18. data/lib/rubocop/cop/layout/block_end_newline.rb +7 -21
  19. data/lib/rubocop/cop/layout/class_structure.rb +1 -0
  20. data/lib/rubocop/cop/layout/empty_comment.rb +1 -1
  21. data/lib/rubocop/cop/layout/empty_lines.rb +1 -1
  22. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +2 -0
  23. data/lib/rubocop/cop/layout/end_alignment.rb +5 -1
  24. data/lib/rubocop/cop/layout/extra_spacing.rb +6 -1
  25. data/lib/rubocop/cop/layout/first_argument_indentation.rb +6 -1
  26. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +25 -34
  27. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +7 -19
  28. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +42 -52
  29. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +38 -55
  30. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -2
  31. data/lib/rubocop/cop/layout/initial_indentation.rb +1 -1
  32. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +8 -27
  33. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +7 -26
  34. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +4 -21
  35. data/lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb +6 -30
  36. data/lib/rubocop/cop/layout/redundant_line_break.rb +6 -7
  37. data/lib/rubocop/cop/layout/space_before_first_arg.rb +1 -1
  38. data/lib/rubocop/cop/layout/space_inside_parens.rb +2 -2
  39. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +3 -3
  40. data/lib/rubocop/cop/lint/duplicate_match_pattern.rb +122 -0
  41. data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -1
  42. data/lib/rubocop/cop/lint/nested_method_definition.rb +2 -2
  43. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +1 -1
  44. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +35 -15
  45. data/lib/rubocop/cop/lint/syntax.rb +4 -0
  46. data/lib/rubocop/cop/lint/to_enum_arguments.rb +7 -1
  47. data/lib/rubocop/cop/lint/unreachable_loop.rb +3 -3
  48. data/lib/rubocop/cop/lint/useless_method_definition.rb +10 -2
  49. data/lib/rubocop/cop/lint/useless_rescue.rb +4 -1
  50. data/lib/rubocop/cop/lint/void.rb +7 -3
  51. data/lib/rubocop/cop/metrics/block_nesting.rb +1 -1
  52. data/lib/rubocop/cop/metrics/class_length.rb +1 -0
  53. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +1 -1
  54. data/lib/rubocop/cop/mixin/comments_help.rb +1 -1
  55. data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +1 -0
  56. data/lib/rubocop/cop/mixin/hash_transform_method.rb +1 -1
  57. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -1
  58. data/lib/rubocop/cop/naming/ascii_identifiers.rb +1 -1
  59. data/lib/rubocop/cop/naming/inclusive_language.rb +23 -4
  60. data/lib/rubocop/cop/naming/method_name.rb +2 -2
  61. data/lib/rubocop/cop/style/accessor_grouping.rb +4 -4
  62. data/lib/rubocop/cop/style/class_and_module_children.rb +1 -1
  63. data/lib/rubocop/cop/style/class_equality_comparison.rb +42 -9
  64. data/lib/rubocop/cop/style/collection_compact.rb +3 -0
  65. data/lib/rubocop/cop/style/copyright.rb +1 -1
  66. data/lib/rubocop/cop/style/data_inheritance.rb +75 -0
  67. data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +2 -2
  68. data/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +1 -1
  69. data/lib/rubocop/cop/style/double_negation.rb +2 -2
  70. data/lib/rubocop/cop/style/file_empty.rb +3 -3
  71. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +1 -1
  72. data/lib/rubocop/cop/style/hash_except.rb +4 -4
  73. data/lib/rubocop/cop/style/hash_syntax.rb +4 -1
  74. data/lib/rubocop/cop/style/if_unless_modifier.rb +38 -12
  75. data/lib/rubocop/cop/style/map_to_hash.rb +4 -1
  76. data/lib/rubocop/cop/style/map_to_set.rb +4 -1
  77. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +3 -7
  78. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +43 -36
  79. data/lib/rubocop/cop/style/multiline_method_signature.rb +6 -3
  80. data/lib/rubocop/cop/style/parallel_assignment.rb +26 -18
  81. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +2 -3
  82. data/lib/rubocop/cop/style/percent_q_literals.rb +1 -1
  83. data/lib/rubocop/cop/style/redundant_fetch_block.rb +6 -4
  84. data/lib/rubocop/cop/style/redundant_line_continuation.rb +179 -0
  85. data/lib/rubocop/cop/style/redundant_parentheses.rb +1 -1
  86. data/lib/rubocop/cop/style/redundant_percent_q.rb +1 -1
  87. data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +2 -2
  88. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -1
  89. data/lib/rubocop/cop/style/redundant_string_escape.rb +2 -3
  90. data/lib/rubocop/cop/style/sole_nested_conditional.rb +2 -2
  91. data/lib/rubocop/cop/style/struct_inheritance.rb +1 -1
  92. data/lib/rubocop/cop/style/trailing_body_on_class.rb +1 -0
  93. data/lib/rubocop/cop/style/trivial_accessors.rb +1 -1
  94. data/lib/rubocop/cop/style/unless_logical_operators.rb +1 -0
  95. data/lib/rubocop/cops_documentation_generator.rb +10 -3
  96. data/lib/rubocop/ext/regexp_node.rb +1 -1
  97. data/lib/rubocop/ext/regexp_parser.rb +1 -1
  98. data/lib/rubocop/formatter/simple_text_formatter.rb +1 -1
  99. data/lib/rubocop/options.rb +4 -1
  100. data/lib/rubocop/result_cache.rb +1 -1
  101. data/lib/rubocop/rspec/support.rb +1 -0
  102. data/lib/rubocop/server/cache.rb +1 -1
  103. data/lib/rubocop/server/helper.rb +1 -1
  104. data/lib/rubocop/server/server_command/exec.rb +1 -1
  105. data/lib/rubocop/version.rb +1 -1
  106. data/lib/rubocop.rb +3 -0
  107. metadata +12 -9
@@ -6,17 +6,12 @@ module RuboCop
6
6
  # Checks for a line break before the first element in a
7
7
  # multi-line hash.
8
8
  #
9
- # @example AllowMultilineFinalElement: false (default)
9
+ # @example
10
10
  #
11
11
  # # bad
12
12
  # { a: 1,
13
13
  # b: 2}
14
14
  #
15
- # # bad
16
- # { a: 1, b: {
17
- # c: 3
18
- # }}
19
- #
20
15
  # # good
21
16
  # {
22
17
  # a: 1,
@@ -28,11 +23,14 @@ module RuboCop
28
23
  # c: 3
29
24
  # }}
30
25
  #
31
- # @example AllowMultilineFinalElement: true
26
+ # @example AllowMultilineFinalElement: false (default)
32
27
  #
33
28
  # # bad
34
- # { a: 1,
35
- # b: 2}
29
+ # { a: 1, b: {
30
+ # c: 3
31
+ # }}
32
+ #
33
+ # @example AllowMultilineFinalElement: true
36
34
  #
37
35
  # # bad
38
36
  # { a: 1,
@@ -45,16 +43,6 @@ module RuboCop
45
43
  # c: 3
46
44
  # }}
47
45
  #
48
- # # good
49
- # {
50
- # a: 1,
51
- # b: 2 }
52
- #
53
- # # good
54
- # {
55
- # a: 1, b: {
56
- # c: 3
57
- # }}
58
46
  class FirstHashElementLineBreak < Base
59
47
  include FirstElementLineBreak
60
48
  extend AutoCorrector
@@ -6,73 +6,63 @@ module RuboCop
6
6
  # Checks for a line break before the first argument in a
7
7
  # multi-line method call.
8
8
  #
9
- # @example AllowMultilineFinalElement: false (default)
10
- #
11
- # # bad
12
- # method(foo, bar,
13
- # baz)
14
- #
15
- # # bad
16
- # method(foo, bar, {
17
- # baz: "a",
18
- # qux: "b",
19
- # })
9
+ # @example
20
10
  #
21
- # # good
22
- # method(
23
- # foo, bar,
24
- # baz)
11
+ # # bad
12
+ # method(foo, bar,
13
+ # baz)
25
14
  #
26
- # # good
27
- # method(
28
- # foo, bar, {
29
- # baz: "a",
30
- # qux: "b",
31
- # })
15
+ # # good
16
+ # method(
17
+ # foo, bar,
18
+ # baz)
32
19
  #
33
20
  # # ignored
34
21
  # method foo, bar,
35
22
  # baz
36
23
  #
37
- # @example AllowMultilineFinalElement: true
24
+ # @example AllowMultilineFinalElement: false (default)
25
+ #
26
+ # # bad
27
+ # method(foo, bar, {
28
+ # baz: "a",
29
+ # qux: "b",
30
+ # })
38
31
  #
39
- # # bad
40
- # method(foo, bar,
41
- # baz)
32
+ # # good
33
+ # method(
34
+ # foo, bar, {
35
+ # baz: "a",
36
+ # qux: "b",
37
+ # })
42
38
  #
43
- # # bad
44
- # method(foo,
45
- # bar,
46
- # {
47
- # baz: "a",
48
- # qux: "b",
49
- # }
50
- # )
39
+ # @example AllowMultilineFinalElement: true
51
40
  #
52
- # # good
53
- # method(foo, bar, {
41
+ # # bad
42
+ # method(foo,
43
+ # bar,
44
+ # {
54
45
  # baz: "a",
55
46
  # qux: "b",
56
- # })
47
+ # }
48
+ # )
57
49
  #
58
- # # good
59
- # method(
60
- # foo, bar,
61
- # baz)
50
+ # # good
51
+ # method(foo, bar, {
52
+ # baz: "a",
53
+ # qux: "b",
54
+ # })
62
55
  #
63
- # # good
64
- # method(
65
- # foo,
66
- # bar,
67
- # {
68
- # baz: "a",
69
- # qux: "b",
70
- # }
71
- # )
56
+ # # good
57
+ # method(
58
+ # foo,
59
+ # bar,
60
+ # {
61
+ # baz: "a",
62
+ # qux: "b",
63
+ # }
64
+ # )
72
65
  #
73
- # # ignored
74
- # method foo, bar,
75
- # baz
76
66
  class FirstMethodArgumentLineBreak < Base
77
67
  include FirstElementLineBreak
78
68
  extend AutoCorrector
@@ -6,69 +6,52 @@ module RuboCop
6
6
  # Checks for a line break before the first parameter in a
7
7
  # multi-line method parameter definition.
8
8
  #
9
- # @example AllowMultilineFinalElement: false (default)
10
- #
11
- # # bad
12
- # def method(foo, bar,
13
- # baz)
14
- # do_something
15
- # end
16
- #
17
- # # bad
18
- # def method(foo, bar, baz = {
19
- # :a => "b",
20
- # })
21
- # do_something
22
- # end
9
+ # @example
23
10
  #
24
- # # good
25
- # def method(
26
- # foo, bar,
27
- # baz)
28
- # do_something
29
- # end
11
+ # # bad
12
+ # def method(foo, bar,
13
+ # baz)
14
+ # do_something
15
+ # end
30
16
  #
31
- # # good
32
- # def method(
33
- # foo, bar, baz = {
34
- # :a => "b",
35
- # })
36
- # do_something
37
- # end
17
+ # # good
18
+ # def method(
19
+ # foo, bar,
20
+ # baz)
21
+ # do_something
22
+ # end
38
23
  #
39
- # # ignored
40
- # def method foo,
41
- # bar
42
- # do_something
43
- # end
24
+ # # ignored
25
+ # def method foo,
26
+ # bar
27
+ # do_something
28
+ # end
44
29
  #
45
- # @example AllowMultilineFinalElement: true
30
+ # @example AllowMultilineFinalElement: false (default)
46
31
  #
47
- # # bad
48
- # def method(foo, bar,
49
- # baz)
50
- # do_something
51
- # end
32
+ # # bad
33
+ # def method(foo, bar, baz = {
34
+ # :a => "b",
35
+ # })
36
+ # do_something
37
+ # end
52
38
  #
53
- # # good
54
- # def method(foo, bar, baz = {
55
- # :a => "b",
56
- # })
57
- # do_something
58
- # end
39
+ # # good
40
+ # def method(
41
+ # foo, bar, baz = {
42
+ # :a => "b",
43
+ # })
44
+ # do_something
45
+ # end
59
46
  #
60
- # # good
61
- # def method(
62
- # foo, bar,
63
- # baz)
64
- # do_something
65
- # end
47
+ # @example AllowMultilineFinalElement: true
66
48
  #
67
- # # ignored
68
- # def method foo,
69
- # bar
70
- # do_something
71
- # end
49
+ # # good
50
+ # def method(foo, bar, baz = {
51
+ # :a => "b",
52
+ # })
53
+ # do_something
54
+ # end
72
55
  #
73
56
  class FirstMethodParameterLineBreak < Base
74
57
  include FirstElementLineBreak
@@ -67,7 +67,7 @@ module RuboCop
67
67
 
68
68
  outermost_send = outermost_send_on_same_line(heredoc_arg)
69
69
  return unless outermost_send
70
- return if end_keyword_before_closing_parentesis?(node)
70
+ return if end_keyword_before_closing_parenthesis?(node)
71
71
  return if subsequent_closing_parentheses_in_same_line?(outermost_send)
72
72
  return if exist_argument_between_heredoc_end_and_closing_parentheses?(node)
73
73
 
@@ -159,7 +159,7 @@ module RuboCop
159
159
 
160
160
  # Closing parenthesis helpers.
161
161
 
162
- def end_keyword_before_closing_parentesis?(parenthesized_send_node)
162
+ def end_keyword_before_closing_parenthesis?(parenthesized_send_node)
163
163
  parenthesized_send_node.ancestors.any? do |ancestor|
164
164
  ancestor.loc.respond_to?(:end) && ancestor.loc.end&.source == 'end'
165
165
  end
@@ -34,7 +34,7 @@ module RuboCop
34
34
  private
35
35
 
36
36
  def first_token
37
- processed_source.find_token { |t| !t.text.start_with?('#') }
37
+ processed_source.tokens.find { |t| !t.text.start_with?('#') }
38
38
  end
39
39
 
40
40
  def space_before(token)
@@ -6,7 +6,7 @@ module RuboCop
6
6
  # Ensures that each item in a multi-line array
7
7
  # starts on a separate line.
8
8
  #
9
- # @example AllowMultilineFinalElement: false (default)
9
+ # @example
10
10
  #
11
11
  # # bad
12
12
  # [
@@ -14,11 +14,6 @@ module RuboCop
14
14
  # c
15
15
  # ]
16
16
  #
17
- # # bad
18
- # [ a, b, foo(
19
- # bar
20
- # )]
21
- #
22
17
  # # good
23
18
  # [
24
19
  # a,
@@ -35,34 +30,20 @@ module RuboCop
35
30
  # )
36
31
  # ]
37
32
  #
38
- # @example AllowMultilineFinalElement: true
33
+ # @example AllowMultilineFinalElement: false (default)
39
34
  #
40
35
  # # bad
41
- # [
42
- # a, b,
43
- # c
44
- # ]
45
- #
46
- # # good
47
- # [ a, b, foo(
36
+ # [a, b, foo(
48
37
  # bar
49
38
  # )]
50
39
  #
51
- # # good
52
- # [
53
- # a,
54
- # b,
55
- # c
56
- # ]
40
+ # @example AllowMultilineFinalElement: true
57
41
  #
58
42
  # # good
59
- # [
60
- # a,
61
- # b,
62
- # foo(
63
- # bar
64
- # )
65
- # ]
43
+ # [a, b, foo(
44
+ # bar
45
+ # )]
46
+ #
66
47
  class MultilineArrayLineBreaks < Base
67
48
  include MultilineElementLineBreaks
68
49
  extend AutoCorrector
@@ -6,7 +6,7 @@ module RuboCop
6
6
  # Ensures that each key in a multi-line hash
7
7
  # starts on a separate line.
8
8
  #
9
- # @example AllowMultilineFinalElement: false (default)
9
+ # @example
10
10
  #
11
11
  # # bad
12
12
  # {
@@ -14,11 +14,6 @@ module RuboCop
14
14
  # c: 3
15
15
  # }
16
16
  #
17
- # # bad
18
- # { a: 1, b: {
19
- # c: 3,
20
- # }}
21
- #
22
17
  # # good
23
18
  # {
24
19
  # a: 1,
@@ -34,34 +29,20 @@ module RuboCop
34
29
  # }
35
30
  # }
36
31
  #
37
- # @example AllowMultilineFinalElement: true
32
+ # @example AllowMultilineFinalElement: false (default)
38
33
  #
39
34
  # # bad
40
- # {
41
- # a: 1, b: 2,
42
- # c: 3
43
- # }
44
- #
45
- # # good
46
35
  # { a: 1, b: {
47
36
  # c: 3,
48
37
  # }}
49
38
  #
50
- # # good
51
- # {
52
- # a: 1,
53
- # b: 2,
54
- # c: 3
55
- # }
56
- #
39
+ # @example AllowMultilineFinalElement: true
57
40
  #
58
41
  # # good
59
- # {
60
- # a: 1,
61
- # b: {
62
- # c: 3,
63
- # }
64
- # }
42
+ # { a: 1, b: {
43
+ # c: 3,
44
+ # }}
45
+ #
65
46
  class MultilineHashKeyLineBreaks < Base
66
47
  include MultilineElementLineBreaks
67
48
  extend AutoCorrector
@@ -9,7 +9,7 @@ module RuboCop
9
9
  # NOTE: This cop does not move the first argument, if you want that to
10
10
  # be on a separate line, see `Layout/FirstMethodArgumentLineBreak`.
11
11
  #
12
- # @example AllowMultilineFinalElement: false (default)
12
+ # @example
13
13
  #
14
14
  # # bad
15
15
  # foo(a, b,
@@ -31,6 +31,8 @@ module RuboCop
31
31
  # # good
32
32
  # foo(a, b, c)
33
33
  #
34
+ # @example AllowMultilineFinalElement: false (default)
35
+ #
34
36
  # # good
35
37
  # foo(
36
38
  # a,
@@ -42,26 +44,6 @@ module RuboCop
42
44
  #
43
45
  # @example AllowMultilineFinalElement: true
44
46
  #
45
- # # bad
46
- # foo(a, b,
47
- # c
48
- # )
49
- #
50
- # # good
51
- # foo(a, b, {
52
- # foo: "bar",
53
- # })
54
- #
55
- # # good
56
- # foo(
57
- # a,
58
- # b,
59
- # c
60
- # )
61
- #
62
- # # good
63
- # foo(a, b, c)
64
- #
65
47
  # # good
66
48
  # foo(
67
49
  # a,
@@ -70,6 +52,7 @@ module RuboCop
70
52
  # foo: "bar",
71
53
  # }
72
54
  # )
55
+ #
73
56
  class MultilineMethodArgumentLineBreaks < Base
74
57
  include MultilineElementLineBreaks
75
58
  extend AutoCorrector
@@ -9,7 +9,7 @@ module RuboCop
9
9
  # NOTE: This cop does not move the first argument, if you want that to
10
10
  # be on a separate line, see `Layout/FirstMethodParameterLineBreak`.
11
11
  #
12
- # @example AllowMultilineFinalElement: false (default)
12
+ # @example
13
13
  #
14
14
  # # bad
15
15
  # def foo(a, b,
@@ -17,12 +17,6 @@ module RuboCop
17
17
  # )
18
18
  # end
19
19
  #
20
- # # bad
21
- # def foo(a, b = {
22
- # foo: "bar",
23
- # })
24
- # end
25
- #
26
20
  # # good
27
21
  # def foo(
28
22
  # a,
@@ -44,40 +38,22 @@ module RuboCop
44
38
  # def foo(a, b, c)
45
39
  # end
46
40
  #
47
- # @example AllowMultilineFinalElement: true
41
+ # @example AllowMultilineFinalElement: false (default)
48
42
  #
49
43
  # # bad
50
- # def foo(a, b,
51
- # c
52
- # )
53
- # end
54
- #
55
- # # good
56
44
  # def foo(a, b = {
57
45
  # foo: "bar",
58
46
  # })
59
47
  # end
60
48
  #
61
- # # good
62
- # def foo(
63
- # a,
64
- # b,
65
- # c
66
- # )
67
- # end
49
+ # @example AllowMultilineFinalElement: true
68
50
  #
69
51
  # # good
70
- # def foo(
71
- # a,
72
- # b = {
73
- # foo: "bar",
74
- # }
75
- # )
52
+ # def foo(a, b = {
53
+ # foo: "bar",
54
+ # })
76
55
  # end
77
56
  #
78
- # # good
79
- # def foo(a, b, c)
80
- # end
81
57
  class MultilineMethodParameterLineBreaks < Base
82
58
  include MultilineElementLineBreaks
83
59
  extend AutoCorrector
@@ -50,9 +50,9 @@ module RuboCop
50
50
 
51
51
  def on_send(node)
52
52
  # Include "the whole expression".
53
- node = node.parent while convertible_block?(node) ||
54
- node.parent.is_a?(RuboCop::AST::BinaryOperatorNode) ||
55
- node.parent&.send_type?
53
+ node = node.parent while node.parent&.send_type? ||
54
+ convertible_block?(node) ||
55
+ node.parent.is_a?(RuboCop::AST::BinaryOperatorNode)
56
56
 
57
57
  return unless offense?(node) && !part_of_ignored_node?(node)
58
58
 
@@ -69,15 +69,14 @@ module RuboCop
69
69
 
70
70
  def register_offense(node)
71
71
  add_offense(node) do |corrector|
72
- corrector.replace(node.source_range, to_single_line(node.source).strip)
72
+ corrector.replace(node, to_single_line(node.source).strip)
73
73
  end
74
74
  ignore_node(node)
75
75
  end
76
76
 
77
77
  def offense?(node)
78
- return false if configured_to_not_be_inspected?(node)
79
-
80
- node.multiline? && !too_long?(node) && suitable_as_single_line?(node)
78
+ node.multiline? && !too_long?(node) && suitable_as_single_line?(node) &&
79
+ !configured_to_not_be_inspected?(node)
81
80
  end
82
81
 
83
82
  def configured_to_not_be_inspected?(node)
@@ -34,6 +34,7 @@ module RuboCop
34
34
 
35
35
  def on_send(node)
36
36
  return unless regular_method_call_with_arguments?(node)
37
+ return if node.parenthesized?
37
38
 
38
39
  first_arg = node.first_argument.source_range
39
40
  first_arg_with_space = range_with_surrounding_space(first_arg, side: :left)
@@ -52,7 +53,6 @@ module RuboCop
52
53
  end
53
54
 
54
55
  def expect_params_after_method_name?(node)
55
- return false if node.parenthesized?
56
56
  return true if no_space_between_method_name_and_first_argument?(node)
57
57
 
58
58
  first_arg = node.first_argument
@@ -91,7 +91,7 @@ module RuboCop
91
91
  if !left_parens?(token1, token2) && !right_parens?(token1, token2)
92
92
  correct_missing_space(token1, token2)
93
93
  else
94
- correct_extaneus_space_between_consecutive_parens(token1, token2)
94
+ correct_extraneous_space_between_consecutive_parens(token1, token2)
95
95
  end
96
96
  end
97
97
  end
@@ -112,7 +112,7 @@ module RuboCop
112
112
  end
113
113
  end
114
114
 
115
- def correct_extaneus_space_between_consecutive_parens(token1, token2)
115
+ def correct_extraneous_space_between_consecutive_parens(token1, token2)
116
116
  return if range_between(token1.end_pos, token2.begin_pos).source != ' '
117
117
 
118
118
  range = range_between(token1.end_pos, token2.begin_pos)
@@ -38,7 +38,7 @@ module RuboCop
38
38
  attr clone dup exists? freeze gethostbyaddr gethostbyname iterator?
39
39
  ].freeze
40
40
 
41
- PREFERRED_METHDOS = {
41
+ PREFERRED_METHODS = {
42
42
  clone: 'to_h',
43
43
  dup: 'to_h',
44
44
  exists?: 'exist?',
@@ -97,11 +97,11 @@ module RuboCop
97
97
 
98
98
  "#{preferred_attr_method} #{node.first_argument.source}"
99
99
  elsif dir_env_file_const?(node.receiver)
100
- prefer = PREFERRED_METHDOS[node.method_name]
100
+ prefer = PREFERRED_METHODS[node.method_name]
101
101
 
102
102
  prefer ? "#{node.receiver.source}.#{prefer}" : 'ENV'
103
103
  else
104
- PREFERRED_METHDOS[node.method_name]
104
+ PREFERRED_METHODS[node.method_name]
105
105
  end
106
106
  end
107
107