Class: Red::ControlNode::UntilNode
- Inherits:
-
Object
- Object
- Red::ControlNode::UntilNode
- Defined in:
- lib/red/control_nodes.rb
Overview
:nodoc:
Instance Method Summary collapse
- #compile_internals(options = {}) ⇒ Object
- #compile_node(options = {}) ⇒ Object
-
#initialize(condition, body, run_only_if_condition_met) ⇒ UntilNode
constructor
A new instance of UntilNode.
Constructor Details
#initialize(condition, body, run_only_if_condition_met) ⇒ UntilNode
Returns a new instance of UntilNode.
77 78 79 80 |
# File 'lib/red/control_nodes.rb', line 77 def initialize(condition, body, run_only_if_condition_met) @condition, @body = [condition, body].build_nodes @do_while_loop = !run_only_if_condition_met end |
Instance Method Details
#compile_internals(options = {}) ⇒ Object
90 91 92 93 |
# File 'lib/red/control_nodes.rb', line 90 def compile_internals( = {}) condition, body = [@condition, @body].compile_nodes return [condition, body] end |
#compile_node(options = {}) ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/red/control_nodes.rb', line 82 def compile_node( = {}) if @do_while_loop return "do { %s; } while (!(%s))" % self.compile_internals.reverse else return "while (!(%s)) { %s; }" % self.compile_internals end end |