class Liquid::Rails::ResolverSystem
Public Instance Methods
read_template_file(template_path, context)
click to toggle source
Return a valid liquid template string for requested partial path
# File lib/liquid-rails/resolver_system.rb, line 7 def read_template_file(template_path, context) controller = context.registers[:controller] controller_path = controller.controller_path template_path = "#{controller_path}/#{template_path}" unless template_path.include?('/') name = template_path.split('/').last prefix = template_path.split('/')[0...-1].join('/') result = controller.lookup_context.find_all(name, prefix, true) if result.present? result.first.source.force_encoding("UTF-8") # cast to utf8 as it was getting encoding errors else raise FileSystemError, "No such template '#{template_path}'" end end