class Jekyll::LiquidRenderer::File
Public Class Methods
Source
# File lib/jekyll/liquid_renderer/file.rb, line 6 def initialize(renderer, filename) @renderer = renderer @filename = filename end
Public Instance Methods
Source
# File lib/jekyll/liquid_renderer/file.rb, line 11 def parse(content) measure_time do @renderer.cache[@filename] ||= Liquid::Template.parse(content, :line_numbers => true) end @template = @renderer.cache[@filename] self end
Source
# File lib/jekyll/liquid_renderer/file.rb, line 20 def render(*args) reset_template_assigns measure_time do measure_bytes do measure_counts do @template.render(*args) end end end end
Source
# File lib/jekyll/liquid_renderer/file.rb, line 33 def render!(*args) reset_template_assigns measure_time do measure_bytes do measure_counts do @template.render!(*args) end end end end
This method simply ‘rethrows any error’ before attempting to render the template.
Source
# File lib/jekyll/liquid_renderer/file.rb, line 45 def warnings @template.warnings end
Private Instance Methods
Source
# File lib/jekyll/liquid_renderer/file.rb, line 62 def measure_bytes yield.tap do |str| @renderer.increment_bytes(@filename, str.bytesize) end
Source
# File lib/jekyll/liquid_renderer/file.rb, line 57 def measure_counts @renderer.increment_count(@filename) yield end
Source
# File lib/jekyll/liquid_renderer/file.rb, line 53 def reset_template_assigns @template.instance_assigns.clear end
clear assigns to ‘Liquid::Template` instance prior to rendering since `Liquid::Template` instances are cached in Jekyll
4.