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

Version Path
ey-core-3.6.0.autoscaling1 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.6.4 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.6.3 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.6.1 lib/ey-core/cli/helpers/stream_printer.rb
groove-ey-core-3.6.3 lib/ey-core/cli/helpers/stream_printer.rb
groove-ey-core-3.6.2 lib/ey-core/cli/helpers/stream_printer.rb
groove-ey-core-3.6.1 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.5.0 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.4.4 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.4.2 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.4.1 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.4.0 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.3.1 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.3.0 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.2.6 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.2.5 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.2.4 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.2.3 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.2.2 lib/ey-core/cli/helpers/stream_printer.rb
ey-core-3.2.1 lib/ey-core/cli/helpers/stream_printer.rb