Class: RGauge::Formatter::Terminal

Inherits:
Object
  • Object
show all
Defined in:
lib/rgauge/formatters/terminal.rb

Instance Method Summary collapse

Constructor Details

#initialize(runner, reports) ⇒ Terminal

Terminal benchmark formatter.



9
10
11
12
13
14
15
# File 'lib/rgauge/formatters/terminal.rb', line 9

def initialize runner, reports
  @runner, @reports = runner, reports
  @scale = @runner.options.fetch :scale, 3
  @format = @runner.options.fetch :format, "%0.#{@scale}f"
  @reports = @reports.sort_by { |report| report[:duration] }
  render
end

Instance Method Details

#renderObject

Render the benchmark reporting.



20
21
22
23
24
# File 'lib/rgauge/formatters/terminal.rb', line 20

def render
  s = '%-30s %s' % headings
  s << seperator << render_rows
  puts "#{indent(s)}\n\n"
end

#render_rowsObject

Render rows.



36
37
38
# File 'lib/rgauge/formatters/terminal.rb', line 36

def render_rows
  rows.map { |row| render_row row }.join "\n"
end

#seperatorObject

Render a seperator.



29
30
31
# File 'lib/rgauge/formatters/terminal.rb', line 29

def seperator
  "\n#{ '-' * 49 }\n"
end