Sha256: 095d9afbcd8cbe2722feb010b40da3b01688fda148ae5d55d642554287a67444
Contents?: true
Size: 704 Bytes
Versions: 4
Compression:
Stored size: 704 Bytes
Contents
# frozen_string_literal: true class Code class Node class Ternary < Node def initialize(parsed) return if parsed.blank? @left = Node::Statement.new(parsed.delete(:left).presence) @middle = Node::Statement.new(parsed.delete(:middle).presence) if parsed.key?(:right) @right = Node::Statement.new(parsed.delete(:right).presence) end end 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 end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
code-ruby-0.13.1 | lib/code/node/ternary.rb |
code-ruby-0.13.0 | lib/code/node/ternary.rb |
code-ruby-0.12.0 | lib/code/node/ternary.rb |
code-ruby-0.11.0 | lib/code/node/ternary.rb |