diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-05 02:32:24 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-09-05 02:32:24 +0000 |
commit | 73e4384a23b61761cc9fa013e28b290393569d09 (patch) | |
tree | 145b7387bc73ce7f3e73973c73f364019dbda352 /lib/optparse/version.rb | |
parent | e45738a2976eed3ff291ec075606f64baa3198cb (diff) | |
download | ruby-73e4384a23b61761cc9fa013e28b290393569d09.tar.gz |
* 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
Diffstat (limited to 'lib/optparse/version.rb')
-rw-r--r-- | lib/optparse/version.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/optparse/version.rb b/lib/optparse/version.rb index 35152181b0..8a1efcdf8c 100644 --- a/lib/optparse/version.rb +++ b/lib/optparse/version.rb @@ -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 |