1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/optparse.rb (--version): fix assignment/reference order.

* lib/optparse.rb (OptionParser#help): new; OptionParser#to_s may
  be deprecated in future.

* lib/optparse/version.rb (OptionParser#show_version): hide Object.

* test/runner.rb: fix optparse usage.

* test/runner.rb: glob all testsuits if no tests given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2003-09-05 02:32:24 +00:00
parent e45738a297
commit 73e4384a23
5 changed files with 53 additions and 16 deletions

View file

@ -10,7 +10,7 @@ OptionParser.accept(DateTime) do |s,|
end
OptionParser.accept(Date) do |s,|
begin
DateTime.parse(s) if s
Date.parse(s) if s
rescue ArgumentError
raise OptionParser::InvalidArgument, s
end

View file

@ -5,7 +5,9 @@ class << OptionParser
progname = ARGV.options.program_name
show = proc do |klass, version|
version = version.join(".") if Array === version
str = "#{progname}: #{klass} version #{version}"
str = "#{progname}"
str << ": #{klass}" unless klass == Object
str << " version #{version}"
if klass.const_defined?(:Release)
str << " (#{klass.const_get(:Release)})"
end
@ -27,6 +29,16 @@ class << OptionParser
exit
end
def each_const(path, klass = ::Object)
path.split(/::|\//).inject(klass) do |klass, name|
raise NameError, path unless Module === klass
klass.constants.grep(/#{name}/i) do |c|
klass.const_defined?(c) or next
c = klass.const_get(c)
end
end
end
def search_const(klass, name)
klasses = [klass]
while klass = klasses.shift