class Liquid::PartialCache
Public Class Methods
load(template_name, context:, parse_context:)
click to toggle source
# File lib/locomotive/steam/liquid/patches.rb, line 66 def self.load(template_name, context:, parse_context:) begin cached_partials = (context.registers[:cached_partials] ||= {}) cached = cached_partials[template_name] return cached if cached file_system = (context.registers[:file_system] ||= ::Liquid::Template.file_system) source = file_system.read_template_file(template_name) parse_context.partial = true partial = ::Liquid::Template.parse(source, parse_context) cached_partials[template_name] = partial rescue ::Liquid::SyntaxError => e # FIXME: we had to reload the template one more time. Not ideal. file_system = (context.registers[:file_system] ||= ::Liquid::Template.file_system) source = file_system.read_template_file(template_name) raise Locomotive::Steam::LiquidError.new(e, template_name, source) end ensure parse_context.partial = false end