class KitLiquidRails::TemplateHandler
Attributes
context[R]
Public Class Methods
call(template, source)
click to toggle source
Note: local_assigns is not available in ViewComponents
# File lib/kit_liquid_rails/template_handler.rb, line 6 def self.call(template, source) source ||= template.source "::KitLiquidRails::TemplateHandler.new(self).render(#{ source.inspect }, (defined?(local_assigns) ? local_assigns : nil))" end
new(context)
click to toggle source
# File lib/kit_liquid_rails/template_handler.rb, line 11 def initialize(context) @context = context end
Public Instance Methods
compilable?()
click to toggle source
# File lib/kit_liquid_rails/template_handler.rb, line 29 def compilable? false end
render(source, local_assigns = nil)
click to toggle source
# File lib/kit_liquid_rails/template_handler.rb, line 15 def render(source, local_assigns = nil) local_assigns ||= {} # Use `liquid_assigns` method on the `ViewComponent` to determine what to forward to Liquid. if context.is_a?(::ViewComponent::Base) && context.respond_to?(:liquid_assigns) local_assigns = context.liquid_assigns end local_assigns = local_assigns&.deep_stringify_keys liquid = Liquid::Template.parse(source) liquid.render(local_assigns).html_safe end