Sha256: 0e50fce571c787bd9ff054df108c36512ce07fc46b1ae066caec87925a0069b3

Contents?: true

Size: 955 Bytes

Versions: 2

Compression:

Stored size: 955 Bytes

Contents

module Brewmaster
  class CLI
    attr_accessor :configuration, :coordinator

    def initialize(args)
      options = {}

      @name = 'brewmaster'

      OptionParser.new do |parser|
        parser.banner = [
          "Usage: #{@name} [--bootstrap] [-c config_file]\n",
          "       #{@name} --help\n"
        ].compact.join

        parser.on('-c', '--config FILE') do |path|
          options[:config_path] = path
        end

        parser.on('--bootstrap') do
          options[:bootstrap] = true
        end

        # parser.on("-l", "--log FILE") do |path|
        #   options[:log_path] = path
        # end

        parser.on_tail("-?", "--help", "Display this usage information.") do
          puts "#{parser}\n"
          exit
        end
      end.parse!(args)

      self.configuration = Configuration.new(options)
      self.coordinator = Coordinator.new(configuration)
    end

    def run
      coordinator.run
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
brewmaster-0.0.2 lib/brewmaster/cli.rb
brewmaster-0.0.1 lib/brewmaster/cli.rb