Sha256: 98384edbb5b7132e0c99d88dbd7f5159ba12a0ffc2647a42dd55a8bb2149ba33

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

#!/usr/bin/env ruby

require 'rubygems'
require 'trollop'
require 'standup'

opt_parser = Trollop::Parser.new do
  version "Standup #{Standup.version} (c) 2010 Ilia Ablamonov, Cloud Castle" # "test 1.2.3 (c) 2008 William Morgan"
  
  banner 'Standup is an application deployment and infrastructure management tool for Rails and Amazon EC2.'
  banner ''
  banner 'Usage:'
  banner '       standup [options] <script> [script arguments]'
  banner ''
  banner 'where <script> is one of the following:'
  banner ''
  
  offset = Standup.scripts.keys.map(&:length).max + 2
  Standup.scripts.keys.sort.each do |name|
    banner "#{"%-#{offset}s" % name} #{Standup.scripts[name].description}"
  end
  
  banner ''
  banner "and [options] are:"
  banner ''
  
  stop_on Standup.scripts.keys
end

Trollop::with_standard_exception_handling opt_parser do
 opt_parser.parse ARGV
 raise Trollop::HelpNeeded if ARGV.empty?
end

exit if ARGV.empty?

script_name = ARGV.shift
script = Standup.scripts[script_name]

if script
  script.execute
else
  opt_parser.die "unknown script #{script_name}", nil
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
standup-0.3.5 bin/standup