class Pfm::Command::Base

def run_with_default_options(params = [])


handled here.
In order to control this behavior, make sure the default options are
optparser overwrites -h / --help options with its own.
def run_with_default_options(params = [])
  if needs_help?(params)
    msg(opt_parser.to_s)
    0
  elsif needs_version?(params)
    msg("Pfm Version: #{Pfm::VERSION}")
    0
  else
    ENV['DEBUG'] = 'true' if verbose?(params)
    run(params)
  end
rescue NameError => e
  err("ERROR: #{e.message}\n")
  1
rescue OptionParser::InvalidOption, OptionParser::MissingArgument => e
  err("ERROR: #{e.message}\n")
  msg(opt_parser)
  1
rescue Idlc::Build::MissingMetadataFile, Idlc::Build::MissingRequiredMetadataAttribute, InvalidRepository => e
  err("ERROR: #{e.message}\n")
  1
ensure
  @workspace.cleanup unless @workspace.empty?
end