Sha256: 8e1255219a33fbf7e4df12f0aa59c4574d3e2f114796fc30e0f829cf46598306

Contents?: true

Size: 942 Bytes

Versions: 7

Compression:

Stored size: 942 Bytes

Contents

# coding: utf-8

require 'catscope/app'
require 'optparse'

module Catscope

class CLI
  def initialize()
    @pwd = Dir.pwd
    setup_parser()
  end

  def setup_parser()
    @parser = OptionParser.new

    @bind = '127.0.0.1'
    @parser.on('-o', '--bind ADDRESS', "IP address to bind (default: #{@bind})") do |addr|
      @bind = addr
    end

    @port = 4567
    @parser.on('-p', '--port PORT', "Port to listen on (default: #{@port})") do |port|
      @port = Integer(port)
    end

    @environment = "production"
    @parser.on('-e', '--env ENV', "Rack environment (default: #{@environment})") do |env|
      @environment = env
    end

    @parser.on('-v', '--version') do
      puts "Catscope version #{Catscope::VERSION}"
      exit(true)
    end
  end

  def run(argv)
    @parser.parse!(argv)

    App.set :environment, @environment
    App.set :bind, @bind
    App.set :port, @port

    App.run!
    true
  end
end

end #module

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
catscope-0.1.6 lib/catscope/cli.rb
catscope-0.1.5 lib/catscope/cli.rb
catscope-0.1.4 lib/catscope/cli.rb
catscope-0.1.3 lib/catscope/cli.rb
catscope-0.1.2 lib/catscope/cli.rb
catscope-0.1.1 lib/catscope/cli.rb
catscope-0.1.0 lib/catscope/cli.rb