diff --git a/lib/rubocop/cop/mixin/preceding_following_alignment.rb b/lib/rubocop/cop/mixin/preceding_following_alignment.rb index 1c66a94b580..da47e08fecd 100644 --- a/lib/rubocop/cop/mixin/preceding_following_alignment.rb +++ b/lib/rubocop/cop/mixin/preceding_following_alignment.rb @@ -93,13 +93,15 @@ def aligned_char?(range, line) end def aligned_assignment?(range, line) - range.source[-1] == '=' && line[range.last_column - 1] == '=' || + (range.source[-1] == '=' && line[range.last_column - 1] == '=') || aligned_with_append_operator?(range, line) end def aligned_with_append_operator?(range, line) - range.source == '<<' && line[range.last_column - 1] == '=' || - range.source[-1] == '=' && line[(range.last_column - 2)..(range.last_column - 1)] == '<<' + last_column = range.last_column + + (range.source == '<<' && line[last_column - 1] == '=') || + (range.source[-1] == '=' && line[(last_column - 2)..(last_column - 1)] == '<<') end def aligned_identical?(range, line)