Sha256: 5d489a1e2b3fce377ed9207b9ffb9166cab8cdd4d77373bcaab65b492bffe9ff

Contents?: true

Size: 997 Bytes

Versions: 17

Compression:

Stored size: 997 Bytes

Contents

# frozen_string_literal: true

require 'eac_cli/runner_with/output'
require 'eac_ruby_utils/core_ext'
require 'eac_ruby_utils/acts_as_abstract'

module EacCli
  module RunnerWith
    module OutputList
      require_sub __FILE__

      FORMATS = {
        'csv' => ::EacCli::RunnerWith::OutputList::CsvFormatter,
        'yaml' => ::EacCli::RunnerWith::OutputList::YamlFormatter
      }.freeze

      common_concern do
        acts_as_abstract :list_columns, :list_rows
        include ::EacCli::RunnerWith::Output

        runner_definition do
          arg_opt '-f', '--format', 'Format to output list.', default: 'yaml'
        end
      end

      # @return [String]
      def output_content
        formatter.to_output
      end

      # @return [EacCli::RunnerWith::OutputList::BaseFormatter]
      def formatter
        formatter_class.new(list_columns, list_rows)
      end

      # @return [Class]
      def formatter_class
        FORMATS.fetch(parsed.format)
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
eac_cli-0.38.1 lib/eac_cli/runner_with/output_list.rb
eac_tools-0.82.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.81.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.80.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.79.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.78.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.77.1 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.77.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_cli-0.38.0 lib/eac_cli/runner_with/output_list.rb
eac_tools-0.76.1 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.76.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.75.2 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_cli-0.37.0 lib/eac_cli/runner_with/output_list.rb
eac_tools-0.75.1 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.75.0 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_tools-0.74.1 sub/eac_cli/lib/eac_cli/runner_with/output_list.rb
eac_cli-0.36.0 lib/eac_cli/runner_with/output_list.rb