Sha256: 95315e0ceba710da9447712f882ad63c2d84b7a9559d1a8d56319516ad5ead8e

Contents?: true

Size: 868 Bytes

Versions: 1

Compression:

Stored size: 868 Bytes

Contents

#!/usr/bin/env ruby

require 'optionparser'

APP = File.basename(__FILE__)

commands = {
    "explain" => "Generate a report from logged SQL queries",
    "review"   => "Review changed files for query problems",
}

global = OptionParser.new do |opts|
  opts.banner = "usage: #{APP} [--help] <command> [<args>]"
  opts.separator ""
  opts.separator "These are the commands available:"
  commands.each do |name,info|
    opts.separator "  #{name}     #{info}"
  end
  opts.separator ""
  opts.separator "See #{APP} --help <command> to read about a specific command."
  opts.separator ""
end

global.order!

command = ARGV.shift

if command.nil?
  puts global.to_s
  exit
end

if !commands.key?(command)
  puts "#{APP}: '#{command}' is not a '#{APP}' command. See '#{APP} --help'."
  exit 2
end

path = File.join(File.dirname(__FILE__), command)

Kernel.exec(path, *ARGV)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shiba-0.3.0 bin/shiba