Sha256: 58654ee0f1a3db0eceff37e157eb7f817fe9486737e71a0fddfa98ad2a869b16

Contents?: true

Size: 566 Bytes

Versions: 2

Compression:

Stored size: 566 Bytes

Contents

module CliFormat
  class Presenter
    attr_accessor :header, :rows
    def initialize(options)
      @options = options
      @rows = []
    end

    delegate :text, :show, to: :presenter

    def presenter
      return @presenter if @presenter
      presenter_class = "CliFormat::Presenter::#{format.camelize}".constantize
      @presenter = presenter_class.new(@options, @header, @rows)
    end

    # Formats: tabs, markdown, json, csv, table, etc
    def format
      @options[:format] || ENV['CLI_FORMAT'] || CliFormat.default_format # table
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cli-format-0.4.0 lib/cli_format/presenter.rb
cli-format-0.3.0 lib/cli_format/presenter.rb