Sha256: d0784488d17e44a2c3cc5bc866e41eb9e77cc0f4e5773edcc4a86236eab06686

Contents?: true

Size: 894 Bytes

Versions: 5

Compression:

Stored size: 894 Bytes

Contents

module Chronicle
  module ETL
    module CLI
      # CLI commands for working with ETL connectors
      class Connectors < SubcommandBase
        default_task 'list'
        namespace :connectors

        desc "install NAME", "Installs connector NAME"
        def install
          puts "Installing"
        end

        desc "list", "Lists available connectors"
        # Display all available connectors that chronicle-etl has access to
        def list
          klasses = Chronicle::ETL::Catalog.available_classes
          klasses = klasses.sort_by do |a|
            [a[:built_in].to_s, a[:provider], a[:phase]]
          end

          headers = klasses.first.keys.map do |key|
            key.to_s.upcase.bold
          end

          table = TTY::Table.new(headers, klasses.map(&:values))
          puts table.render(indent: 0, padding: [0, 2])
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
chronicle-etl-0.2.4 lib/chronicle/etl/cli/connectors.rb
chronicle-etl-0.2.3 lib/chronicle/etl/cli/connectors.rb
chronicle-etl-0.2.2 lib/chronicle/etl/cli/connectors.rb
chronicle-etl-0.2.1 lib/chronicle/etl/cli/connectors.rb
chronicle-etl-0.2.0 lib/chronicle/etl/cli/connectors.rb