I need to parse a command line like
script.rb <mandatory filename> [options]
with optparse.
Sure I can write some custom code to handle the filename, then pass ARGV to optparse, but maybe there’s a simpler way to do it?
EDIT: there’s another hacky way to parse such a command line, and that is pass ['--mandatory-filename'] + ARGV to optparse, then handle the --mandatory-filename option.
First
parse!with optparse, then scan the ARGV and raise if ARGV is empty. Like so:The mandatory filename will not be processed by the
OptionParserand will be left for you in ARGV – if it’s not there, just raise manually.