Method: Code::Node::Ternary#evaluate

Defined in:
lib/code/node/ternary.rb

#evaluate(**args) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/code/node/ternary.rb', line 16

def evaluate(**args)
  if (@left&.evaluate(**args) || Object::Nothing.new).truthy?
    @middle&.evaluate(**args) || Object::Nothing.new
  elsif @right
    @right.evaluate(**args)
  else
    ::Code::Object::Nothing.new
  end
end