class Haml::Temple::Parser
def call(haml)
def call(haml) parser = ::Haml::Parser.new(haml, @options) tree = parser.parse.tap {|x| p x; puts '-' * 10} compile(tree).tap {|x| p x; puts '-' * 10} end
def compile(node)
def compile(node) exp = node.to_temple return exp if node.children.empty? if node.children.length == 1 exp.push compile(node.children[0]) else exp.push [:multi, *node.children.map {|c| compile(c)}] end exp end
def initialize(*args)
def initialize(*args) @options = Options.new end