Class: RuboCop::Cop::Style::TernaryCorrector
- Inherits:
-
Object
- Object
- RuboCop::Cop::Style::TernaryCorrector
- Extended by:
- ConditionalAssignmentHelper, ConditionalCorrectorHelper
- Defined in:
- lib/rubocop/cop/style/conditional_assignment.rb
Overview
Corrector to correct conditional assignment in ternary conditions.
Constant Summary
Constants included from ConditionalAssignmentHelper
ConditionalAssignmentHelper::ALIGN_WITH, ConditionalAssignmentHelper::END_ALIGNMENT, ConditionalAssignmentHelper::EQUAL, ConditionalAssignmentHelper::KEYWORD
Class Method Summary collapse
Methods included from ConditionalCorrectorHelper
assignment, correct_branches, correct_if_branches, remove_whitespace_in_branches, replace_branch_assignment, white_space_range
Methods included from ConditionalAssignmentHelper
expand_elses, expand_when_branches, indent, lhs, tail
Class Method Details
.correct(node) ⇒ Object
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 |
# File 'lib/rubocop/cop/style/conditional_assignment.rb', line 452 def correct(node) condition, if_branch, else_branch = *node _variable, *_operator, if_rhs = *if_branch _else_variable, *_operator, else_rhs = *else_branch condition = condition.source if_rhs = if_rhs.source else_rhs = else_rhs.source ternary = "#{condition} ? #{if_rhs} : #{else_rhs}" if if_branch.send_type? && if_branch.method_name != :[]= ternary = "(#{ternary})" end correction = "#{lhs(if_branch)}#{ternary}" lambda do |corrector| corrector.replace(node.source_range, correction) end end |
.move_assignment_inside_condition(node) ⇒ Object
471 472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/rubocop/cop/style/conditional_assignment.rb', line 471 def move_assignment_inside_condition(node) *_var, rhs = *node if_branch, else_branch = extract_branches(node) assignment = assignment(node) lambda do |corrector| remove_parentheses(corrector, rhs) if Util.parentheses?(rhs) corrector.remove(assignment) move_branch_inside_condition(corrector, if_branch, assignment) move_branch_inside_condition(corrector, else_branch, assignment) end end |