class RuboCop::Cop::ParenthesesCorrector

This auto-corrects parentheses

Public Class Methods

correct(node) click to toggle source
# File lib/rubocop/cop/correctors/parentheses_corrector.rb, line 8
def correct(node)
  lambda do |corrector|
    corrector.remove(node.loc.begin)
    corrector.remove(node.loc.end)

    if ternary_condition?(node) && next_char_is_question_mark?(node)
      corrector.insert_after(node.loc.end, ' ')
    end
  end
end

Private Class Methods

next_char_is_question_mark?(node) click to toggle source
# File lib/rubocop/cop/correctors/parentheses_corrector.rb, line 25
def next_char_is_question_mark?(node)
  node.loc.last_column == node.parent.loc.question.column
end
ternary_condition?(node) click to toggle source
# File lib/rubocop/cop/correctors/parentheses_corrector.rb, line 21
def ternary_condition?(node)
  node.parent&.if_type? && node.parent&.ternary?
end