Class: Red::ConditionalNode::WhenNode
- Inherits:
-
Object
- Object
- Red::ConditionalNode::WhenNode
- Defined in:
- lib/red/conditional_nodes.rb
Overview
:nodoc:
Instance Method Summary collapse
- #compile_internals(options = {}) ⇒ Object
- #compile_node(options = {}) ⇒ Object
-
#initialize(conditions, expression) ⇒ WhenNode
constructor
A new instance of WhenNode.
Constructor Details
#initialize(conditions, expression) ⇒ WhenNode
Returns a new instance of WhenNode.
46 47 48 49 |
# File 'lib/red/conditional_nodes.rb', line 46 def initialize(conditions, expression) @conditions = conditions[1..-1].build_nodes @expression = expression.build_node end |
Instance Method Details
#compile_internals(options = {}) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/red/conditional_nodes.rb', line 55 def compile_internals( = {}) condition = @conditions.first.compile_node(:quotes => "'") expression = @expression.compile_node final = "break;" return [condition, expression, final] end |
#compile_node(options = {}) ⇒ Object
51 52 53 |
# File 'lib/red/conditional_nodes.rb', line 51 def compile_node( = {}) return "case %s:%s;%s" % self.compile_internals end |