Class: Fill::Presenter
- Inherits:
-
Object
- Object
- Fill::Presenter
- Defined in:
- lib/fill/presenter.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add(data) ⇒ Object
- #format_row(row) ⇒ Object
- #hirb? ⇒ Boolean
- #present_hash ⇒ Object
- #present_with_hirb ⇒ Object
- #presentable ⇒ Object
- #presented ⇒ Object
- #to_s ⇒ Object
Class Method Details
.clear! ⇒ Object
24 25 26 |
# File 'lib/fill/presenter.rb', line 24 def self.clear! @presenter = nil end |
.hirb? ⇒ 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 |
.presenter ⇒ Object
9 10 11 |
# File 'lib/fill/presenter.rb', line 9 def self.presenter @presenter ||= new end |
.to_s ⇒ Object
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
32 33 34 |
# File 'lib/fill/presenter.rb', line 32 def hirb? self.class.hirb? end |
#present_hash ⇒ Object
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_hirb ⇒ Object
44 45 46 |
# File 'lib/fill/presenter.rb', line 44 def present_with_hirb Hirb::Helpers::Table.render(presentable, :description => false) end |
#presentable ⇒ Object
40 41 42 |
# File 'lib/fill/presenter.rb', line 40 def presentable presented.map(&:to_hash) end |
#presented ⇒ Object
36 37 38 |
# File 'lib/fill/presenter.rb', line 36 def presented @presented ||= [] end |
#to_s ⇒ Object
48 49 50 |
# File 'lib/fill/presenter.rb', line 48 def to_s hirb? ? present_with_hirb : present_hash.join("\n") end |