rubocop 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/config/default.yml +16 -1
  4. data/lib/rubocop.rb +1 -0
  5. data/lib/rubocop/cli/command/suggest_extensions.rb +3 -2
  6. data/lib/rubocop/comment_config.rb +43 -94
  7. data/lib/rubocop/cop/correctors/alignment_corrector.rb +3 -6
  8. data/lib/rubocop/cop/layout/access_modifier_indentation.rb +11 -8
  9. data/lib/rubocop/cop/layout/argument_alignment.rb +6 -5
  10. data/lib/rubocop/cop/layout/array_alignment.rb +7 -6
  11. data/lib/rubocop/cop/layout/assignment_indentation.rb +6 -3
  12. data/lib/rubocop/cop/layout/block_end_newline.rb +4 -8
  13. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +14 -15
  14. data/lib/rubocop/cop/layout/comment_indentation.rb +16 -16
  15. data/lib/rubocop/cop/layout/else_alignment.rb +9 -6
  16. data/lib/rubocop/cop/layout/first_argument_indentation.rb +6 -5
  17. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +9 -6
  18. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +22 -15
  19. data/lib/rubocop/cop/layout/first_parameter_indentation.rb +6 -5
  20. data/lib/rubocop/cop/layout/indentation_consistency.rb +9 -6
  21. data/lib/rubocop/cop/layout/indentation_style.rb +27 -30
  22. data/lib/rubocop/cop/layout/indentation_width.rb +19 -9
  23. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +6 -5
  24. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +6 -5
  25. data/lib/rubocop/cop/layout/parameter_alignment.rb +6 -5
  26. data/lib/rubocop/cop/lint/number_conversion.rb +7 -0
  27. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +1 -2
  28. data/lib/rubocop/cop/lint/suppressed_exception.rb +44 -1
  29. data/lib/rubocop/cop/lint/symbol_conversion.rb +89 -2
  30. data/lib/rubocop/cop/mixin/alignment.rb +10 -3
  31. data/lib/rubocop/cop/mixin/comments_help.rb +5 -1
  32. data/lib/rubocop/cop/mixin/documentation_comment.rb +1 -1
  33. data/lib/rubocop/cop/mixin/line_length_help.rb +11 -6
  34. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +3 -1
  35. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +4 -3
  36. data/lib/rubocop/cop/mixin/preferred_delimiters.rb +1 -1
  37. data/lib/rubocop/cop/mixin/uncommunicative_name.rb +4 -6
  38. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +4 -0
  39. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +10 -0
  40. data/lib/rubocop/cop/registry.rb +9 -0
  41. data/lib/rubocop/cop/style/access_modifier_declarations.rb +1 -1
  42. data/lib/rubocop/cop/style/bisected_attr_accessor.rb +59 -71
  43. data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +62 -0
  44. data/lib/rubocop/cop/style/case_like_if.rb +15 -4
  45. data/lib/rubocop/cop/style/class_equality_comparison.rb +2 -0
  46. data/lib/rubocop/cop/style/command_literal.rb +1 -1
  47. data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +2 -2
  48. data/lib/rubocop/cop/style/documentation.rb +25 -3
  49. data/lib/rubocop/cop/style/eval_with_location.rb +1 -1
  50. data/lib/rubocop/cop/style/hash_syntax.rb +16 -15
  51. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +40 -0
  52. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +20 -2
  53. data/lib/rubocop/cop/style/negated_if_else_condition.rb +15 -2
  54. data/lib/rubocop/cop/style/redundant_begin.rb +26 -3
  55. data/lib/rubocop/cop/style/redundant_return.rb +4 -0
  56. data/lib/rubocop/cop/style/redundant_self.rb +7 -3
  57. data/lib/rubocop/cop/style/regexp_literal.rb +1 -1
  58. data/lib/rubocop/cop/style/rescue_modifier.rb +17 -14
  59. data/lib/rubocop/cop/style/sole_nested_conditional.rb +16 -0
  60. data/lib/rubocop/cop/style/string_chars.rb +38 -0
  61. data/lib/rubocop/cop/style/struct_inheritance.rb +2 -0
  62. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +5 -1
  63. data/lib/rubocop/cop/style/unless_logical_operators.rb +8 -2
  64. data/lib/rubocop/directive_comment.rb +64 -9
  65. data/lib/rubocop/ext/regexp_parser.rb +3 -6
  66. data/lib/rubocop/magic_comment.rb +1 -1
  67. data/lib/rubocop/target_finder.rb +1 -0
  68. data/lib/rubocop/version.rb +1 -1
  69. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dac7fff2f013c47a104cadfc9ca1a02a9f0996c13da30cf53c96f9c427f528bf
4
- data.tar.gz: 55120478bfcd4ff14e326c6be7af570852b226ad27a02e9b2835ddda7d8e4324
3
+ metadata.gz: c4f019dc65a23e4fdd32592747afcbee2cf60dff91484b26714f587b9f70a178
4
+ data.tar.gz: 85f0e9d193e2165646764047f5422cb7942c87a147c96ff8e4a05b186eaea3c5
5
5
  SHA512:
6
- metadata.gz: 8b47ab24450c94098487e2efcaf3c6c45314e07523ca7272356908792f06689f95ab4032eed06f9a55a1f68ad75432c599f6bbcec83b5a3ce3e611dab9e2f608
7
- data.tar.gz: 1ba4a1fef00d332d644f242d97954cad9ad4cbcb2cf7cad1d2a2bec48540a2ae12d895a107283aac1933dd34230a45b02cb0470290f0c502bae2c5d3e762662f
6
+ metadata.gz: 5064fb48121769e10df9fe4dd7295151f15c2a3ae5f67fbb2869302a7ad268dfd3ed20e7a3242bf59ef68c1c6cf4e92452fedab08971702d29dba06516250de8
7
+ data.tar.gz: 3b01830b9394f8336bdc415d90e2805f2817eb9fa9686a11392ef8009c4a58dd4b04e40c4a8005e90204774e85b38a6885c315581d55c56bf4a847c71c570447
data/README.md CHANGED
@@ -51,10 +51,10 @@ To prevent an unwanted RuboCop update you might want to use a conservative versi
51
51
  in your `Gemfile`:
52
52
 
53
53
  ```rb
54
- gem 'rubocop', '~> 1.11', require: false
54
+ gem 'rubocop', '~> 1.12', require: false
55
55
  ```
56
56
 
57
- See [versioning](https://docs.rubocop.org/rubocop/1.0/versioning.html) for further details.
57
+ See [our versioning policy](https://docs.rubocop.org/rubocop/versioning.html) for further details.
58
58
 
59
59
  ## Quickstart
60
60
 
data/config/default.yml CHANGED
@@ -2055,13 +2055,18 @@ Lint/SuppressedException:
2055
2055
  StyleGuide: '#dont-hide-exceptions'
2056
2056
  Enabled: true
2057
2057
  AllowComments: true
2058
+ AllowNil: true
2058
2059
  VersionAdded: '0.9'
2059
- VersionChanged: '0.81'
2060
+ VersionChanged: '1.12'
2060
2061
 
2061
2062
  Lint/SymbolConversion:
2062
2063
  Description: 'Checks for unnecessary symbol conversions.'
2063
2064
  Enabled: pending
2064
2065
  VersionAdded: '1.9'
2066
+ EnforcedStyle: strict
2067
+ SupportedStyles:
2068
+ - strict
2069
+ - consistent
2065
2070
 
2066
2071
  Lint/Syntax:
2067
2072
  Description: 'Checks for syntax errors.'
@@ -2489,6 +2494,7 @@ Naming/MemoizedInstanceVariableName:
2489
2494
  - disallowed
2490
2495
  - required
2491
2496
  - optional
2497
+ Safe: false
2492
2498
 
2493
2499
  Naming/MethodName:
2494
2500
  Description: 'Use the configured style when naming methods.'
@@ -3174,6 +3180,7 @@ Style/Documentation:
3174
3180
  Description: 'Document classes and non-namespace modules.'
3175
3181
  Enabled: true
3176
3182
  VersionAdded: '0.9'
3183
+ AllowedConstants: []
3177
3184
  Exclude:
3178
3185
  - 'spec/**/*'
3179
3186
  - 'test/**/*'
@@ -3672,6 +3679,7 @@ Style/MethodCallWithArgsParentheses:
3672
3679
  AllowParenthesesInMultilineCall: false
3673
3680
  AllowParenthesesInChaining: false
3674
3681
  AllowParenthesesInCamelCaseMethod: false
3682
+ AllowParenthesesInStringInterpolation: false
3675
3683
  EnforcedStyle: require_parentheses
3676
3684
  SupportedStyles:
3677
3685
  - require_parentheses
@@ -4491,6 +4499,13 @@ Style/StderrPuts:
4491
4499
  Enabled: true
4492
4500
  VersionAdded: '0.51'
4493
4501
 
4502
+ Style/StringChars:
4503
+ Description: 'Checks for uses of `String#split` with empty string or regexp literal argument.'
4504
+ StyleGuide: '#string-chars'
4505
+ Enabled: pending
4506
+ Safe: false
4507
+ VersionAdded: '1.12'
4508
+
4494
4509
  Style/StringConcatenation:
4495
4510
  Description: 'Checks for places where string concatenation can be replaced with string interpolation.'
4496
4511
  StyleGuide: '#string-interpolation'
data/lib/rubocop.rb CHANGED
@@ -582,6 +582,7 @@ require_relative 'rubocop/cop/style/slicing_with_range'
582
582
  require_relative 'rubocop/cop/style/special_global_vars'
583
583
  require_relative 'rubocop/cop/style/stabby_lambda_parentheses'
584
584
  require_relative 'rubocop/cop/style/stderr_puts'
585
+ require_relative 'rubocop/cop/style/string_chars'
585
586
  require_relative 'rubocop/cop/style/string_concatenation'
586
587
  require_relative 'rubocop/cop/style/string_hash_keys'
587
588
  require_relative 'rubocop/cop/style/string_literals'
@@ -22,7 +22,7 @@ module RuboCop
22
22
  'RuboCop extension libraries might be helpful:'
23
23
 
24
24
  extensions.sort.each do |extension|
25
- puts " * #{extension} (http://github.com/rubocop/#{extension})"
25
+ puts " * #{extension} (https://github.com/rubocop/#{extension})"
26
26
  end
27
27
 
28
28
  puts
@@ -43,7 +43,8 @@ module RuboCop
43
43
  # 2. When given RuboCop options that it doesn't make sense for
44
44
  # 3. For all formatters except specified in `INCLUDED_FORMATTERS'`
45
45
  ENV['CI'] ||
46
- @options[:only] || @options[:debug] || @options[:list_target_files] || @options[:out] ||
46
+ @options[:only] || @options[:debug] || @options[:list_target_files] ||
47
+ @options[:out] || @options[:stdin] ||
47
48
  !INCLUDED_FORMATTERS.include?(current_formatter)
48
49
  end
49
50
 
@@ -4,22 +4,6 @@ module RuboCop
4
4
  # This class parses the special `rubocop:disable` comments in a source
5
5
  # and provides a way to check if each cop is enabled at arbitrary line.
6
6
  class CommentConfig
7
- # @api private
8
- REDUNDANT_DISABLE = 'Lint/RedundantCopDisableDirective'
9
-
10
- # @api private
11
- COP_NAME_PATTERN = '([A-Z]\w+/)*(?:[A-Z]\w+)'
12
- # @api private
13
- COP_NAMES_PATTERN = "(?:#{COP_NAME_PATTERN} , )*#{COP_NAME_PATTERN}"
14
- # @api private
15
- COPS_PATTERN = "(all|#{COP_NAMES_PATTERN})"
16
-
17
- # @api private
18
- COMMENT_DIRECTIVE_REGEXP = Regexp.new(
19
- "# rubocop : ((?:disable|enable|todo))\\b #{COPS_PATTERN}"
20
- .gsub(' ', '\s*')
21
- )
22
-
23
7
  CopAnalysis = Struct.new(:line_ranges, :start_line_number)
24
8
 
25
9
  attr_reader :processed_source
@@ -56,13 +40,13 @@ module RuboCop
56
40
  private
57
41
 
58
42
  def extra_enabled_comments_with_names(extras:, names:)
59
- each_directive do |comment, cop_names, disabled|
60
- next unless comment_only_line?(comment.loc.expression.line)
43
+ each_directive do |directive|
44
+ next unless comment_only_line?(directive.line_number)
61
45
 
62
- if !disabled && enable_all?(comment)
63
- handle_enable_all(names, extras, comment)
46
+ if directive.enabled_all?
47
+ handle_enable_all(directive, names, extras)
64
48
  else
65
- handle_switch(cop_names, names, disabled, extras, comment)
49
+ handle_switch(directive, names, extras)
66
50
  end
67
51
  end
68
52
 
@@ -72,9 +56,11 @@ module RuboCop
72
56
  def analyze # rubocop:todo Metrics/AbcSize
73
57
  analyses = Hash.new { |hash, key| hash[key] = CopAnalysis.new([], nil) }
74
58
 
75
- each_mentioned_cop do |cop_name, disabled, line, single_line|
76
- analyses[cop_name] =
77
- analyze_cop(analyses[cop_name], disabled, line, single_line)
59
+ each_directive do |directive|
60
+ directive.cop_names.each do |cop_name|
61
+ cop_name = qualified_cop_name(cop_name)
62
+ analyses[cop_name] = analyze_cop(analyses[cop_name], directive)
63
+ end
78
64
  end
79
65
 
80
66
  analyses.each_with_object({}) do |element, hash|
@@ -83,37 +69,42 @@ module RuboCop
83
69
  end
84
70
  end
85
71
 
86
- def analyze_cop(analysis, disabled, line, single_line)
87
- if single_line
88
- analyze_single_line(analysis, line, disabled)
89
- elsif disabled
90
- analyze_disabled(analysis, line)
72
+ def analyze_cop(analysis, directive)
73
+ # Disabling cops after comments like `#=SomeDslDirective` does not related to single line
74
+ if !comment_only_line?(directive.line_number) || directive.single_line?
75
+ analyze_single_line(analysis, directive)
76
+ elsif directive.disabled?
77
+ analyze_disabled(analysis, directive)
91
78
  else
92
- analyze_rest(analysis, line)
79
+ analyze_rest(analysis, directive)
93
80
  end
94
81
  end
95
82
 
96
- def analyze_single_line(analysis, line, disabled)
97
- return analysis unless disabled
83
+ def analyze_single_line(analysis, directive)
84
+ return analysis unless directive.disabled?
98
85
 
99
- CopAnalysis.new(analysis.line_ranges + [(line..line)],
100
- analysis.start_line_number)
86
+ line = directive.line_number
87
+ start_line = analysis.start_line_number
88
+
89
+ CopAnalysis.new(analysis.line_ranges + [(line..line)], start_line)
101
90
  end
102
91
 
103
- def analyze_disabled(analysis, line)
104
- if (start_line = analysis.start_line_number)
105
- # Cop already disabled on this line, so we end the current disabled
106
- # range before we start a new range.
107
- return CopAnalysis.new(analysis.line_ranges + [start_line..line], line)
108
- end
92
+ def analyze_disabled(analysis, directive)
93
+ line = directive.line_number
94
+ start_line = analysis.start_line_number
95
+
96
+ # Cop already disabled on this line, so we end the current disabled
97
+ # range before we start a new range.
98
+ return CopAnalysis.new(analysis.line_ranges + [start_line..line], line) if start_line
109
99
 
110
100
  CopAnalysis.new(analysis.line_ranges, line)
111
101
  end
112
102
 
113
- def analyze_rest(analysis, line)
114
- if (start_line = analysis.start_line_number)
115
- return CopAnalysis.new(analysis.line_ranges + [start_line..line], nil)
116
- end
103
+ def analyze_rest(analysis, directive)
104
+ line = directive.line_number
105
+ start_line = analysis.start_line_number
106
+
107
+ return CopAnalysis.new(analysis.line_ranges + [start_line..line], nil) if start_line
117
108
 
118
109
  CopAnalysis.new(analysis.line_ranges, nil)
119
110
  end
@@ -124,54 +115,17 @@ module RuboCop
124
115
  analysis.line_ranges + [(analysis.start_line_number..Float::INFINITY)]
125
116
  end
126
117
 
127
- def each_mentioned_cop
128
- each_directive do |comment, cop_names, disabled|
129
- comment_line_number = comment.loc.expression.line
130
- single_line = !comment_only_line?(comment_line_number) ||
131
- directive_on_comment_line?(comment)
132
-
133
- cop_names.each do |cop_name|
134
- yield qualified_cop_name(cop_name), disabled, comment_line_number,
135
- single_line
136
- end
137
- end
138
- end
139
-
140
- def directive_on_comment_line?(comment)
141
- comment.text[1..-1].match?(COMMENT_DIRECTIVE_REGEXP)
142
- end
143
-
144
118
  def each_directive
145
119
  processed_source.comments.each do |comment|
146
- directive = directive_parts(comment)
147
- next unless directive
148
-
149
- yield comment, *directive
120
+ directive = DirectiveComment.new(comment)
121
+ yield directive if directive.cop_names
150
122
  end
151
123
  end
152
124
 
153
- def directive_parts(comment)
154
- match = comment.text.match(COMMENT_DIRECTIVE_REGEXP)
155
- return unless match
156
-
157
- switch, cops_string = match.captures
158
-
159
- cop_names =
160
- cops_string == 'all' ? all_cop_names : cops_string.split(/,\s*/)
161
-
162
- disabled = %w[disable todo].include?(switch)
163
-
164
- [cop_names, disabled]
165
- end
166
-
167
125
  def qualified_cop_name(cop_name)
168
126
  Cop::Registry.qualified_cop_name(cop_name.strip, processed_source.file_path)
169
127
  end
170
128
 
171
- def all_cop_names
172
- @all_cop_names ||= Cop::Registry.global.names - [REDUNDANT_DISABLE]
173
- end
174
-
175
129
  def non_comment_token_line_numbers
176
130
  @non_comment_token_line_numbers ||= begin
177
131
  non_comment_tokens = processed_source.tokens.reject(&:comment?)
@@ -179,12 +133,7 @@ module RuboCop
179
133
  end
180
134
  end
181
135
 
182
- def enable_all?(comment)
183
- _, cops = comment.text.match(COMMENT_DIRECTIVE_REGEXP).captures
184
- cops == 'all'
185
- end
186
-
187
- def handle_enable_all(names, extras, comment)
136
+ def handle_enable_all(directive, names, extras)
188
137
  enabled_cops = 0
189
138
  names.each do |name, counter|
190
139
  next unless counter.positive?
@@ -193,19 +142,19 @@ module RuboCop
193
142
  enabled_cops += 1
194
143
  end
195
144
 
196
- extras[comment] << 'all' if enabled_cops.zero?
145
+ extras[directive.comment] << 'all' if enabled_cops.zero?
197
146
  end
198
147
 
199
148
  # Collect cops that have been disabled or enabled by name in a directive comment
200
149
  # so that `Lint/RedundantCopEnableDirective` can register offenses correctly.
201
- def handle_switch(cop_names, names, disabled, extras, comment)
202
- cop_names.each do |name|
203
- if disabled
150
+ def handle_switch(directive, names, extras)
151
+ directive.cop_names.each do |name|
152
+ if directive.disabled?
204
153
  names[name] += 1
205
154
  elsif (names[name]).positive?
206
155
  names[name] -= 1
207
156
  else
208
- extras[comment] << name
157
+ extras[directive.comment] << name
209
158
  end
210
159
  end
211
160
  end
@@ -12,7 +12,7 @@ module RuboCop
12
12
  class << self
13
13
  attr_reader :processed_source
14
14
 
15
- def correct(processed_source, node, column_delta)
15
+ def correct(corrector, processed_source, node, column_delta)
16
16
  return unless node
17
17
 
18
18
  @processed_source = processed_source
@@ -21,11 +21,8 @@ module RuboCop
21
21
 
22
22
  taboo_ranges = inside_string_ranges(node)
23
23
 
24
- lambda do |corrector|
25
- each_line(expr) do |line_begin_pos|
26
- autocorrect_line(corrector, line_begin_pos, expr, column_delta,
27
- taboo_ranges)
28
- end
24
+ each_line(expr) do |line_begin_pos|
25
+ autocorrect_line(corrector, line_begin_pos, expr, column_delta, taboo_ranges)
29
26
  end
30
27
  end
31
28
 
@@ -32,10 +32,11 @@ module RuboCop
32
32
  # private
33
33
  # def smooth; end
34
34
  # end
35
- class AccessModifierIndentation < Cop
35
+ class AccessModifierIndentation < Base
36
36
  include Alignment
37
37
  include ConfigurableEnforcedStyle
38
38
  include RangeHelp
39
+ extend AutoCorrector
39
40
 
40
41
  MSG = '%<style>s access modifiers like `%<node>s`.'
41
42
 
@@ -48,12 +49,12 @@ module RuboCop
48
49
  alias on_module on_class
49
50
  alias on_block on_class
50
51
 
51
- def autocorrect(node)
52
- AlignmentCorrector.correct(processed_source, node, @column_delta)
53
- end
54
-
55
52
  private
56
53
 
54
+ def autocorrect(corrector, node)
55
+ AlignmentCorrector.correct(corrector, processed_source, node, @column_delta)
56
+ end
57
+
57
58
  def check_body(body, node)
58
59
  modifiers = body.each_child_node(:send)
59
60
  .select(&:bare_access_modifier?)
@@ -69,18 +70,20 @@ module RuboCop
69
70
  if @column_delta.zero?
70
71
  correct_style_detected
71
72
  else
72
- add_offense(send_node) do
73
+ add_offense(send_node) do |corrector|
73
74
  if offset == unexpected_indent_offset
74
75
  opposite_style_detected
75
76
  else
76
77
  unrecognized_style_detected
77
78
  end
79
+
80
+ autocorrect(corrector, send_node)
78
81
  end
79
82
  end
80
83
  end
81
84
 
82
- def message(node)
83
- format(MSG, style: style.capitalize, node: node.loc.selector.source)
85
+ def message(range)
86
+ format(MSG, style: style.capitalize, node: range.source)
84
87
  end
85
88
 
86
89
  def expected_indent_offset
@@ -37,8 +37,9 @@ module RuboCop
37
37
  #
38
38
  # foo :bar,
39
39
  # :baz
40
- class ArgumentAlignment < Cop
40
+ class ArgumentAlignment < Base
41
41
  include Alignment
42
+ extend AutoCorrector
42
43
 
43
44
  ALIGN_PARAMS_MSG = 'Align the arguments of a method call if ' \
44
45
  'they span more than one line.'
@@ -54,12 +55,12 @@ module RuboCop
54
55
  end
55
56
  alias on_csend on_send
56
57
 
57
- def autocorrect(node)
58
- AlignmentCorrector.correct(processed_source, node, column_delta)
59
- end
60
-
61
58
  private
62
59
 
60
+ def autocorrect(corrector, node)
61
+ AlignmentCorrector.correct(corrector, processed_source, node, column_delta)
62
+ end
63
+
63
64
  def message(_node)
64
65
  fixed_indentation? ? FIXED_INDENT_MSG : ALIGN_PARAMS_MSG
65
66
  end
@@ -33,8 +33,9 @@ module RuboCop
33
33
  #
34
34
  # array = [1, 2, 3,
35
35
  # 4, 5, 6]
36
- class ArrayAlignment < Cop
36
+ class ArrayAlignment < Base
37
37
  include Alignment
38
+ extend AutoCorrector
38
39
 
39
40
  ALIGN_ELEMENTS_MSG = 'Align the elements of an array literal ' \
40
41
  'if they span more than one line.'
@@ -49,13 +50,13 @@ module RuboCop
49
50
  check_alignment(node.children, base_column(node, node.children))
50
51
  end
51
52
 
52
- def autocorrect(node)
53
- AlignmentCorrector.correct(processed_source, node, column_delta)
54
- end
55
-
56
53
  private
57
54
 
58
- def message(_node)
55
+ def autocorrect(corrector, node)
56
+ AlignmentCorrector.correct(corrector, processed_source, node, column_delta)
57
+ end
58
+
59
+ def message(_range)
59
60
  fixed_indentation? ? FIXED_INDENT_MSG : ALIGN_ELEMENTS_MSG
60
61
  end
61
62