class Jekyll::LiquidRenderer::Table

Constants

GAUGES

Public Class Methods

new(stats) click to toggle source
# File lib/jekyll/liquid_renderer/table.rb, line 8
def initialize(stats)
  @stats = stats
end

Public Instance Methods

to_s(num_of_rows = 50) click to toggle source
# File lib/jekyll/liquid_renderer/table.rb, line 12
def to_s(num_of_rows = 50)
  Jekyll::Profiler.tabulate(data_for_table(num_of_rows))
end

Private Instance Methods

data_for_table(num_of_rows) click to toggle source
# File lib/jekyll/liquid_renderer/table.rb, line 18
def data_for_table(num_of_rows)
  sorted = @stats.sort_by { |_, file_stats| -file_stats[:time] }
  sorted = sorted.slice(0, num_of_rows)

  table  = [header_labels]
  sorted.each do |filename, file_stats|
    row = []
    row << filename
    row << file_stats[:count].to_s
    row << format_bytes(file_stats[:bytes])
    row << format("%.3f", file_stats[:time])
    table << row
  end

  table
end
format_bytes(bytes) click to toggle source
# File lib/jekyll/liquid_renderer/table.rb, line 39
def format_bytes(bytes)
  bytes /= 1024.0
  format("%.2fK", bytes)
end
header_labels() click to toggle source
# File lib/jekyll/liquid_renderer/table.rb, line 35
def header_labels
  GAUGES.map { |gauge| gauge.to_s.capitalize }.unshift("Filename")
end