#!ruby -W0 rdoc_path = Dir.glob("#{File.dirname(__dir__)}/.bundle/gems/rdoc-*").first $LOAD_PATH.unshift("#{rdoc_path}/lib") 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 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