Class: RSlog::Presenter

Inherits:
Object
  • Object
show all
Defined in:
lib/rslog/presenter.rb

Overview

Class for format result according to passed ‘format_string’

result is array of formatted strings e.g [ “/about 1 visits”,

"/about/2               1 visits",
"/home                  1 visits",
"/contact               1 visits",
"/help_page/1           1 visits" ]

Instance Method Summary collapse

Constructor Details

#initialize(source, conf, decorator) ⇒ Presenter

Returns a new instance of Presenter.



15
16
17
18
19
20
21
22
23
# File 'lib/rslog/presenter.rb', line 15

def initialize(source, conf, decorator)
  @source = source
  @col_size    = conf.fetch(:col_size, 20)
  @title       = conf.fetch(:title, 'Stat Pages')
  @formatter   = conf.fetch(:formatter, "%-#{@col_size}s")
  @columns     = conf.fetch(:columns, @source&.first&.size || 1)
  @head_titles = conf.fetch(:head_titles, Array.new(@columns, 'title'))
  @decorator   = decorator || _default_decorator
end

Instance Method Details

#presentObject



25
26
27
28
29
30
31
32
33
# File 'lib/rslog/presenter.rb', line 25

def present
  puts @title
  puts _top_border
  puts @decorator.vertical_border + _formatted_head_titles + @decorator.vertical_border
  puts _middle_border
  puts _formatted_data
  puts _bottom_border
  puts
end