Sha256: 0481148750cc21ca3e8bab4699ccfd0a6f56b0417af884f336b6d206fe6296ba

Contents?: true

Size: 1.21 KB

Versions: 39

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Buildkite
  module Builder
    module Commands
      using Rainbow
      COMMANDS = {
        'preview' => :Preview,
        'run' => :Run
      }.freeze

      autoload :Abstract, File.expand_path('commands/abstract', __dir__)
      COMMANDS.each do |command, klass|
        autoload klass, File.expand_path("commands/#{command}", __dir__)
      end

      def self.run
        if ARGV.empty? || ARGV.first == '--help'
          return print_help
        end

        command = ARGV.shift
        unless (command_class = COMMANDS[command])
          raise "Invalid command: #{command}"
        end

        const_get(command_class).execute
      end

      def self.print_help
        puts <<~HELP
          #{'SYNOPSIS'.bright}
          \t#{'buildkite-builder'.bright} COMMAND [OPTIONS] [PIPELINE]

          \t#{'To see available options for specific commands:'.color(:dimgray)}
          \t#{'buildkite-builder'.bright} COMMAND --help

          #{'COMMANDS'.bright}
        HELP
        COMMANDS.each do |command, klass|
          puts <<~HELP
            \t#{command.bright}
            \t#{const_get(klass).description.color(:dimgray)}\n
          HELP
        end
      end
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
buildkite-builder-4.16.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.15.1 lib/buildkite/builder/commands.rb
buildkite-builder-4.15.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.14.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.13.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.12.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.11.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.10.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.8.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.7.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.6.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.5.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.4.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.3.0 lib/buildkite/builder/commands.rb
buildkite-builder-4.2.5 lib/buildkite/builder/commands.rb
buildkite-builder-4.2.4 lib/buildkite/builder/commands.rb
buildkite-builder-4.2.3 lib/buildkite/builder/commands.rb
buildkite-builder-4.2.2 lib/buildkite/builder/commands.rb
buildkite-builder-4.2.1 lib/buildkite/builder/commands.rb
buildkite-builder-4.2.0 lib/buildkite/builder/commands.rb