ruby/tool/rdoc-srcdir
2026-01-08 18:48:00 +09:00

31 lines
865 B
Ruby
Executable File

#!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.
invoked = Dir.pwd
# Load options and parse files from srcdir.
Dir.chdir(File.dirname(__dir__))
options = RDoc::Options.load_options
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()
@op_dir = File.expand_path(@op_dir, invoked)
end
# Do not hide errors when generating documents of Ruby itself.
RDoc::RDoc.new.document options