Generate XML output as one big file
Methods
public class
public instance
Public class methods
for
(options)
Standard generator factory
[show source]
# File lib/rdoc/generator/xml.rb, line 11 def self.for(options) new(options) end
Public instance methods
build_class_list
(from, html_file, class_dir)
[show source]
# File lib/rdoc/generator/xml.rb, line 53 def build_class_list(from, html_file, class_dir) @classes << RDoc::Generator::Class.new(from, html_file, class_dir, @options) from.each_classmodule do |mod| build_class_list(mod, html_file, class_dir) end end
build_indices
()
Generate:
[show source]
# File lib/rdoc/generator/xml.rb, line 43 def build_indices @info.each do |toplevel| @files << RDoc::Generator::File.new(toplevel, @options, RDoc::Generator::FILE_DIR) end RDoc::TopLevel.all_classes_and_modules.each do |cls| build_class_list(cls, @files[0], RDoc::Generator::CLASS_DIR) end end
gen_an_index
(collection, title)
[show source]
# File lib/rdoc/generator/xml.rb, line 101 def gen_an_index(collection, title) res = [] collection.sort.each do |f| if f.document_self res << { "href" => f.path, "name" => f.index_name } end end return { "entries" => res, 'list_title' => title, 'index_url' => main_url, } end
gen_class_index
()
[show source]
# File lib/rdoc/generator/xml.rb, line 93 def gen_class_index gen_an_index(@classes, 'Classes') end
gen_file_index
()
[show source]
# File lib/rdoc/generator/xml.rb, line 89 def gen_file_index gen_an_index(@files, 'Files') end
gen_into
(list)
[show source]
# File lib/rdoc/generator/xml.rb, line 81 def gen_into(list) res = [] list.each do |item| res << item.value_hash end res end
gen_method_index
()
[show source]
# File lib/rdoc/generator/xml.rb, line 97 def gen_method_index gen_an_index(RDoc::Generator::HtmlMethod.all_methods, 'Methods') end
generate
(info)
Build the initial indices and output objects based on an array of TopLevel objects containing the extracted information.
[show source]
# File lib/rdoc/generator/xml.rb, line 24 def generate(info) @info = info @files = [] @classes = [] @hyperlinks = {} build_indices generate_xml end
generate_xml
()
Generate all the HTML. For the one-file case, we generate all the information in to one big hash
[show source]
# File lib/rdoc/generator/xml.rb, line 64 def generate_xml values = { 'charset' => @options.charset, 'files' => gen_into(@files), 'classes' => gen_into(@classes) } template = RDoc::TemplatePage.new @template::ONE_PAGE if @options.op_name opfile = File.open(@options.op_name, "w") else opfile = $stdout end template.write_html_on(opfile, values) end