Sha256: fa8f70d17c0cc959c1c943a007ea3df5c640da89a76728c881a1484aab1474cd
Contents?: true
Size: 1.36 KB
Versions: 3
Compression:
Stored size: 1.36 KB
Contents
# frozen_string_literal: true module Jekyll class LiquidRenderer class File def initialize(renderer, filename) @renderer = renderer @filename = filename end def parse(content) measure_time do @renderer.cache[@filename] ||= Liquid::Template.parse(content, :line_numbers => true) end @template = @renderer.cache[@filename] self end def render(*args) 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. def render!(*args) measure_time do measure_bytes do measure_counts do @template.render!(*args) end end end end def warnings @template.warnings end private def measure_counts @renderer.increment_count(@filename) yield end def measure_bytes yield.tap do |str| @renderer.increment_bytes(@filename, str.bytesize) end end def measure_time before = Time.now yield ensure after = Time.now @renderer.increment_time(@filename, after - before) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jekyll-4.0.0 | lib/jekyll/liquid_renderer/file.rb |
jekyll-4.0.0.pre.beta1 | lib/jekyll/liquid_renderer/file.rb |
jekyll-4.0.0.pre.alpha1 | lib/jekyll/liquid_renderer/file.rb |