Class: Fill::Presenter

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.clear!Object



24
25
26
# File 'lib/fill/presenter.rb', line 24

def self.clear!
  @presenter = nil
end

.hirb?Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
# File 'lib/fill/presenter.rb', line 17

def self.hirb?
  require 'hirb'
  true
rescue LoadError
  false
end

.present(data) ⇒ Object



5
6
7
# File 'lib/fill/presenter.rb', line 5

def self.present(data)
  presenter.add(data)
end

.presenterObject



9
10
11
# File 'lib/fill/presenter.rb', line 9

def self.presenter
  @presenter ||= new
end

.to_sObject



13
14
15
# File 'lib/fill/presenter.rb', line 13

def self.to_s
  presenter.to_s
end

Instance Method Details

#add(data) ⇒ Object



28
29
30
# File 'lib/fill/presenter.rb', line 28

def add(data)
  presented.push(data) if data && !presented.include?(data)
end

#format_row(row) ⇒ Object



58
59
60
61
62
63
# File 'lib/fill/presenter.rb', line 58

def format_row(row)
  row.map do |key, value|
    value = "%.2f" % value if key == "Time"
    "#{key}: #{value}"
  end
end

#hirb?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/fill/presenter.rb', line 32

def hirb?
  self.class.hirb?
end

#present_hashObject



52
53
54
55
56
# File 'lib/fill/presenter.rb', line 52

def present_hash
  presentable.map do |row|
    format_row(row).join(" - ")
  end
end

#present_with_hirbObject



44
45
46
# File 'lib/fill/presenter.rb', line 44

def present_with_hirb
  Hirb::Helpers::Table.render(presentable, :description => false)
end

#presentableObject



40
41
42
# File 'lib/fill/presenter.rb', line 40

def presentable
  presented.map(&:to_hash)
end

#presentedObject



36
37
38
# File 'lib/fill/presenter.rb', line 36

def presented
  @presented ||= []
end

#to_sObject



48
49
50
# File 'lib/fill/presenter.rb', line 48

def to_s
  hirb? ? present_with_hirb : present_hash.join("\n")
end