Class: Red::ConditionalNode::WhenNode

Inherits:
Object
  • Object
show all
Defined in:
lib/red/conditional_nodes.rb

Overview

:nodoc:

Instance Method Summary collapse

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(options = {})
  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(options = {})
  return "case %s:%s;%s" % self.compile_internals
end