Class: Mutineer::Mutators::ConditionNegation

Inherits:
Base
  • Object
show all
Defined in:
lib/mutineer/mutators/condition_negation.rb

Overview

Condition-negation operator (Tier 2, OFF by default). Wraps an if/unless/ ternary condition in !( ... ) textually. Ruby ternaries parse as IfNode in Prism, so visit_if_node covers them too (R12). The standard validity re-parse downstream discards any wrap that fails to round-trip (R14).

Clean-room: from the spec's operator description, not the mutant gem.

Instance Method Summary collapse

Methods inherited from Base

#mutations_for

Instance Method Details

#visit_if_node(node) ⇒ Object



14
15
16
17
# File 'lib/mutineer/mutators/condition_negation.rb', line 14

def visit_if_node(node)
  wrap(node.predicate)
  super
end

#visit_unless_node(node) ⇒ Object



19
20
21
22
# File 'lib/mutineer/mutators/condition_negation.rb', line 19

def visit_unless_node(node)
  wrap(node.predicate)
  super
end