summaryrefslogtreecommitdiff
path: root/tool/rdoc-srcdir
diff options
context:
space:
mode:
Diffstat (limited to 'tool/rdoc-srcdir')
-rwxr-xr-x[-rw-r--r--]tool/rdoc-srcdir14
1 files changed, 12 insertions, 2 deletions
diff --git a/tool/rdoc-srcdir b/tool/rdoc-srcdir
index 10c63caf9e..ecc49b4b2c 100644..100755
--- a/tool/rdoc-srcdir
+++ b/tool/rdoc-srcdir
@@ -1,5 +1,9 @@
-#!ruby
+#!ruby -W0
+%w[tsort rdoc].each do |lib|
+ path = Dir.glob("#{File.dirname(__dir__)}/.bundle/gems/#{lib}-*").first
+ $LOAD_PATH.unshift("#{path}/lib")
+end
require 'rdoc/rdoc'
# Make only the output directory relative to the invoked directory.
@@ -9,7 +13,13 @@ invoked = Dir.pwd
Dir.chdir(File.dirname(__dir__))
options = RDoc::Options.load_options
-options.parse ARGV
+options.title = options.title.sub(/Ruby \K.*version/) {
+ File.read("include/ruby/version.h")
+ .scan(/^ *# *define +RUBY_API_VERSION_(MAJOR|MINOR) +(\d+)/)
+ .sort # "MAJOR" < "MINOR", fortunately
+ .to_h.values.join(".")
+}
+options.parse ARGV + ["#{invoked}/rbconfig.rb"]
options.singleton_class.define_method(:finish) do
super()