Class: Antlers::PropNode
- Inherits:
-
LeafNode
- Object
- AntlerNode
- LeafNode
- Antlers::PropNode
- Includes:
- Props
- Defined in:
- lib/nodes/prop_node.rb
Instance Attribute Summary
Attributes included from Props
Attributes inherited from AntlerNode
Instance Method Summary collapse
Methods included from Props
Methods inherited from AntlerNode
#==, #eql?, #hash, #initialize
Instance Method Details
#render(current_binding: nil, parent_binding: nil, slot_node: nil, namespace: nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/nodes/prop_node.rb', line 10 def render(current_binding: nil, parent_binding: nil, slot_node: nil, namespace: nil) props = evaluate_props(props: @props, current_binding:) event = create_render_event(props:) renderable_klass = class_from_namespace(namespace: namespace&.split('::') || [], name: @name) renderable_instance = renderable_klass.new(event:) # Classes referenced via "<{ ChildNode }>" must implement class/instance render/render_template methods (See LowNode). return renderable_instance.render_template(event:, parent_binding:, props:) if renderable_klass.template props.empty? ? renderable_instance.render(event:) : renderable_instance.render(event:, **props) end |