Class: LibyearRb::PlaintextFormatter

Inherits:
Formatter
  • Object
show all
Defined in:
lib/libyear_rb/formatters/plaintext_formatter.rb

Constant Summary collapse

UNKNOWN =
"Unknown"
COLUMN_BUFFER =
3
HEADERS =
["Gem", "Current", "Current Date", "Latest", "Latest Date", "Versions", "Days", "Years"].freeze

Constants inherited from Formatter

Formatter::NAMES

Instance Method Summary collapse

Methods inherited from Formatter

for, #initialize

Constructor Details

This class inherits a constructor from LibyearRb::Formatter

Instance Method Details

#generate(results) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/libyear_rb/formatters/plaintext_formatter.rb', line 9

def generate(results)
  total_days = results.sum { |r| r.libyear_in_days || 0 }
  total_versions = results.sum { |r| r.version_distance || 0 }

  visible_results = @indirect ? results : results.select(&:is_direct)
  visible_results = visible_results.reject do |result|
    result.version_distance.zero?
  end

  return if visible_results.empty?

  rows = visible_results.map { |result| row_for(result) }

  widths = calculate_widths(rows)
  @io.puts format_row(HEADERS, widths)
  @io.puts divider(widths)
  rows.each { |row| @io.puts format_row(row, widths) }

  @io.puts "System is %.2f libyears behind" % (total_days / 365.0)
  @io.puts "Total releases behind: #{total_versions}"
end