Sha256: 391603e86c14fe3d9374f6499149f783df5b9aedf1ed2507699e8308e9fea5b4
Contents?: true
Size: 703 Bytes
Versions: 34
Compression:
Stored size: 703 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) return unless parsed.key?(:right) @right = Node::Statement.new(parsed.delete(:right).presence) 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
34 entries across 34 versions & 1 rubygems