class Bridgetown::LiquidRenderer::File

TODO: deprecate or move to a separate repo/plugin

Public Class Methods

new(renderer, filename) click to toggle source
# File lib/bridgetown-core/liquid_renderer/file.rb, line 7
def initialize(renderer, filename)
  @renderer = renderer
  @filename = filename
end

Public Instance Methods

parse(content) click to toggle source
# File lib/bridgetown-core/liquid_renderer/file.rb, line 12
def parse(content)
  measure_time do
    @renderer.cache[@filename] ||= Liquid::Template.parse(
      content, line_numbers: true
    )
  end
  @template = @renderer.cache[@filename]

  self
end
render(*args) click to toggle source
# File lib/bridgetown-core/liquid_renderer/file.rb, line 23
def render(*args)
  measure_time do
    measure_bytes do
      measure_counts do
        @template.render(*args)
      end
    end
  end
end
render!(*args) click to toggle source

This method simply 'rethrows any error' before attempting to render the template.

# File lib/bridgetown-core/liquid_renderer/file.rb, line 34
def render!(*args)
  measure_time do
    measure_bytes do
      measure_counts do
        @template.render!(*args)
      end
    end
  end
end
warnings() click to toggle source
# File lib/bridgetown-core/liquid_renderer/file.rb, line 44
def warnings
  @template.warnings
end

Private Instance Methods

measure_bytes() { || ... } click to toggle source
# File lib/bridgetown-core/liquid_renderer/file.rb, line 55
def measure_bytes
  yield.tap do |str|
    @renderer.increment_bytes(@filename, str.bytesize)
  end
measure_counts() { || ... } click to toggle source
# File lib/bridgetown-core/liquid_renderer/file.rb, line 50
def measure_counts
  @renderer.increment_count(@filename)
  yield
end