Class: Red::DefinitionNode::ObjectLiteralNode
- Inherits:
-
Object
- Object
- Red::DefinitionNode::ObjectLiteralNode
- Defined in:
- lib/red/definition_nodes.rb
Overview
:nodoc:
Instance Method Summary collapse
- #compile_node(options = {}) ⇒ Object
-
#initialize(receiver, scope) ⇒ ObjectLiteralNode
constructor
A new instance of ObjectLiteralNode.
Constructor Details
#initialize(receiver, scope) ⇒ ObjectLiteralNode
Returns a new instance of ObjectLiteralNode.
129 130 131 132 133 134 |
# File 'lib/red/definition_nodes.rb', line 129 def initialize(receiver, scope) block_node = scope.assoc(:block) || scope properties = block_node.select {|node| (node.first == :cvdecl) rescue false } functions = block_node.select {|node| ![:block, :scope].include?(node) } @slots = (properties | functions).build_nodes end |
Instance Method Details
#compile_node(options = {}) ⇒ Object
136 137 138 139 |
# File 'lib/red/definition_nodes.rb', line 136 def compile_node( = {}) slots = @slots.compile_nodes(:as_prototype => true).compact.join(', ') return "{ %s }" % [slots] end |