Sha256: a00175ed5f8bcb2c0798497b0ad9a919c940d5b65c123b61528f96523f7a819b
Contents?: true
Size: 1.03 KB
Versions: 30
Compression:
Stored size: 1.03 KB
Contents
module Ey module Core module Cli module Helpers module StreamPrinter def stream_print(opts) yield Printer.new(opts) end class Printer def initialize(rows = {}) @rows = rows end def print(*vals) unless @header_printed header = [] separator = [] @rows.each do |k,v| header << format(k, v) separator << '-' * v end puts header.join("| ") puts separator.join("|-") @header_printed = true end line = [] vals.each_with_index do |v,index| line << format(v, @rows.values[index]) end puts line.join("| ") end def format(value, width) TablePrint::FixedWidthFormatter.new(width).format(value) end end end end end end end
Version data entries
30 entries across 30 versions & 2 rubygems