class Hiptest::Renderer
Attributes
rendered[R]
Public Class Methods
new(context)
click to toggle source
# File lib/hiptest-publisher/renderer.rb, line 20 def initialize(context) @rendered = {} @context = context @template_finder = context.template_finder end
render(node, context)
click to toggle source
# File lib/hiptest-publisher/renderer.rb, line 11 def self.render(node, context) renderer = self.new(context) context.renderer_addons.each do |addon| renderer.singleton_class.include(addon) end renderer.walk_node(node) renderer.rendered[node] end
Public Instance Methods
call_node_walker(node)
click to toggle source
Calls superclass method
Hiptest::Nodes::Walker#call_node_walker
# File lib/hiptest-publisher/renderer.rb, line 26 def call_node_walker(node) if node.is_a? Hiptest::Nodes::Node @rendered_children = {} node.children.each do |name, child| @rendered_children[name] = @rendered[child] @rendered_children[name].uniq! if name == :actionwords && @rendered_children[name].is_a?(Array) end @rendered[node] = render_node(node, super(node)) elsif node.is_a? Array @rendered[node] = node.map {|item| @rendered[item]} else @rendered[node] = node end end
render_node(node, render_context)
click to toggle source
# File lib/hiptest-publisher/renderer.rb, line 43 def render_node(node, render_context) render_context ||= {} render_context[:node] = node render_context[:rendered_children] = @rendered_children render_context[:context] = @context @template_finder.get_compiled_handlebars(node.kind).call(render_context) end