From 44785befeabd09d5d34f33b33783c0ec54f06a1f Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 5 Sep 2003 15:15:43 +0000 Subject: * lib/optparse.rb (OptionParser#order, #permute, #parse): allow an array as argument. * test/ruby/test_*.rb: moved invariants to left side in assert_equal, and use assert_nil, assert_raises and so on. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/optparse.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'lib/optparse.rb') diff --git a/lib/optparse.rb b/lib/optparse.rb index 83f2f7bdcc..d17bf75404 100644 --- a/lib/optparse.rb +++ b/lib/optparse.rb @@ -801,6 +801,14 @@ Default options, which never appear in option summary. end end + def warn(mesg = $!) + super(program_name + ': ' + mesg) + end + + def abort(mesg = $!) + super(program_name + ': ' + mesg) + end + =begin --- OptionParser#top Subject of (())/(()), (())/(()). @@ -1120,7 +1128,10 @@ Default options, which never appear in option summary. : (({block})) called with each non-option argument. =end #'#"#`# - def order(*argv, &block) order!(argv, &block) end + def order(*argv, &block) + argv = argv[0].dup if argv.size == 1 and Array === argv[0] + order!(argv, &block) + end def order!(argv = ARGV, &nonopt) opt, arg, sw, val, rest = nil @@ -1198,6 +1209,7 @@ Default options, which never appear in option summary. command line arguments to be parsed. =end #'#"#`# def permute(*argv) + argv = argv[0].dup if argv.size == 1 and Array === argv[0] permute!(argv) end @@ -1223,6 +1235,7 @@ Default options, which never appear in option summary. command line arguments to be parsed. =end #'#"#`# def parse(*argv) + argv = argv[0].dup if argv.size == 1 and Array === argv[0] parse!(argv) end @@ -1607,7 +1620,7 @@ Extends command line arguments array to parse itself. begin yield @optparse rescue ParseError - warn @optparse.program_name + ': ' + $! + @optparse.warn $! nil end end -- cgit v1.2.3