class NScript::ObjectNode
Public Class Methods
new(properties = [])
click to toggle source
# File lib/nscript/parser/nodes.rb, line 633 def initialize(properties = []) @properties = properties end
Public Instance Methods
compile_node(o)
click to toggle source
# File lib/nscript/parser/nodes.rb, line 637 def compile_node(o) o[:indent] = idt(1) joins = Hash.new("\n") non_comments = @properties.select {|p| !p.is_a?(CommentNode) } non_comments.each {|p| joins[p] = p == non_comments.last ? "\n" : ",\n" } props = @properties.map { |prop| join = joins[prop] join = '' if prop == @properties.last indent = prop.is_a?(CommentNode) ? '' : idt(1) "#{indent}#{prop.compile(o)}#{join}" }.join('') write("{\n#{props}\n#{idt}}") end