class Haml::Temple::Parser
Public Class Methods
new(*args)
click to toggle source
# File lib/haml/temple.rb, line 42 def initialize(*args) @options = Options.new end
Public Instance Methods
call(haml)
click to toggle source
# File lib/haml/temple.rb, line 46 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
Private Instance Methods
compile(node)
click to toggle source
# File lib/haml/temple.rb, line 54 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