class Bunto::LiquidRenderer

Public Class Methods

format_error(e, path) click to toggle source
# File lib/bunto/liquid_renderer.rb, line 43
def self.format_error(e, path)
  if e.is_a? Tags::IncludeTagError
    return "#{e.message} in #{e.path}, included in #{path}"
  end
  "#{e.message} in #{path}"
end
new(site) click to toggle source
# File lib/bunto/liquid_renderer.rb, line 6
def initialize(site)
  @site = site
  Liquid::Template.error_mode = @site.config["liquid"]["error_mode"].to_sym
  reset
end

Public Instance Methods

file(filename) click to toggle source
# File lib/bunto/liquid_renderer.rb, line 16
def file(filename)
  filename = @site.in_source_dir(filename).sub(
    %r!\A#{Regexp.escape(@site.source)}/!,
    ""
  )

  LiquidRenderer::File.new(self, filename).tap do
    @stats[filename] ||= {}
    @stats[filename][:count] ||= 0
    @stats[filename][:count] += 1
  end
end
increment_bytes(filename, bytes) click to toggle source
# File lib/bunto/liquid_renderer.rb, line 29
def increment_bytes(filename, bytes)
  @stats[filename][:bytes] ||= 0
  @stats[filename][:bytes] += bytes
end
increment_time(filename, time) click to toggle source
# File lib/bunto/liquid_renderer.rb, line 34
def increment_time(filename, time)
  @stats[filename][:time] ||= 0.0
  @stats[filename][:time] += time
end
measure_time() { || ... } click to toggle source
# File lib/bunto/liquid_renderer/file.rb, line 45
def measure_time
  before = Time.now
  yield
ensure
  after = Time.now
  @renderer.increment_time(@filename, after - before)
end
reset() click to toggle source
# File lib/bunto/liquid_renderer.rb, line 12
def reset
  @stats = {}
end
stats_table(n = 50) click to toggle source
# File lib/bunto/liquid_renderer.rb, line 39
def stats_table(n = 50)
  LiquidRenderer::Table.new(@stats).to_s(n)
end