class YaspTree
Public Class Methods
new(block)
click to toggle source
# File lib/YASP/yasp_tree.rb, line 3 def initialize(block) @head = Command.new(nil, []) process(block) end
Public Instance Methods
add(obj)
click to toggle source
# File lib/YASP/yasp_tree.rb, line 12 def add(obj) @head << obj end
assign(&block)
click to toggle source
# File lib/YASP/yasp_tree.rb, line 24 def assign(&block) YaspTree.new(block).tree end
method_missing(m, *args, &block)
click to toggle source
# File lib/YASP/yasp_tree.rb, line 28 def method_missing(m, *args, &block) element = Command.new(m, args) add(element) if block_given? previous_head = @head @head = element self.instance_eval(&block) @head = previous_head end end
process(block)
click to toggle source
# File lib/YASP/yasp_tree.rb, line 20 def process(block) instance_eval(&block) end
to_scad()
click to toggle source
# File lib/YASP/yasp_tree.rb, line 16 def to_scad @head.to_scad(0); end
tree()
click to toggle source
# File lib/YASP/yasp_tree.rb, line 8 def tree @head end