Sha256: bd54b0ff728d3e3672098e624ca0c33f27885adbd1fd6aa30660100ee30715ff

Contents?: true

Size: 792 Bytes

Versions: 6

Compression:

Stored size: 792 Bytes

Contents

require 'optparse'

module Jackhammer
  class CLI
    attr_reader :logger, :opts

    def initialize(options = {})
      @logger = Logger.new STDERR
      @opts = { require: './config/application' }.merge(options)
    end

    def parse(argv = ARGV)
      @parser = OptionParser.new do |o|
        o.on "-r", "--require PATH", "Location of application" do |arg|
          opts[:require] = arg
        end
      end
      @parser.banner = "jackhammer [options]"
      @parser.on_tail "-h", "--help", "Show help" do
        logger.info @parser
        exit
      end
      @parser.parse!(argv)
    end

    def run
      require opts[:require]
      Log.info "Booting up Jackhammer v#{VERSION}"
      server.start
    end

    def server
      Jackhammer.configuration.server
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
jackhammer-1.0.0 lib/jackhammer/cli.rb
jackhammer-0.2.3 lib/jackhammer/cli.rb
jackhammer-0.2.2 lib/jackhammer/cli.rb
jackhammer-0.2.1 lib/jackhammer/cli.rb
jackhammer-0.2.0 lib/jackhammer/cli.rb
jackhammer-0.1.1 lib/jackhammer/cli.rb