Hi there,
I wrote my own Wake on Lan Script in ruby that uses a Plist to look up
either target Mac address by selected printer or target MAC address by
server and I use option parser for this.
It all works fine if the arguments are input correctly, but if the
arguments are off you get something like this. -x is not declared in my
options and was a test to see how it did when it got something that it
didn’t recognize.
ruby test.rb -x
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1443:in
complete': invalid option: -x (OptionParser::InvalidOption) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1441:in
catch’
from
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1441:in
complete' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1280:in
parse_in_order’
from
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1247:in
catch' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1247:in
parse_in_order’
from
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1241:in
order!' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1332:in
permute!’
from
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/optparse.rb:1353:in
`parse!’
from test.rb:4
It’s not the end of the world as if the options are wrong then it won’t
do anything anyway, but I was wondering if anyone could tell me if
there’s any method in the class or extra thing I could do to catch dodgy
arguments and output the help file or the banner rather than this
inelegant list of errors?
Thanks in advance.