# File lib/transat/parser.rb, line 101 def parse_and_execute(args=ARGV) begin command, non_options = parse(args) execute(command, non_options) rescue HelpNeeded $stderr.puts usage($!.command) exit 1 rescue VersionNeeded puts "#{program_name} #{version}" exit 0 rescue NoCommandGiven, UnknownOptions, UnknownCommand $stderr.puts "ERROR: #{$!.message}" $stderr.puts usage($!.respond_to?(:command) ? $!.command : nil) exit 1 end end