| Class | Generators::HTMLGeneratorInOne |
| In: |
generators/html_generator.rb
|
| Parent: | HTMLGenerator |
# File generators/html_generator.rb, line 1493
1493: def build_class_list(from, html_file, class_dir)
1494: @classes << HtmlClass.new(from, html_file, class_dir, @options)
1495: from.each_classmodule do |mod|
1496: build_class_list(mod, html_file, class_dir)
1497: end
1498: end
Generate:
# File generators/html_generator.rb, line 1482
1482: def build_indices
1483:
1484: @toplevels.each do |toplevel|
1485: @files << HtmlFile.new(toplevel, @options, FILE_DIR)
1486: end
1487:
1488: RDoc::TopLevel.all_classes_and_modules.each do |cls|
1489: build_class_list(cls, @files[0], CLASS_DIR)
1490: end
1491: end
# File generators/html_generator.rb, line 1546
1546: def gen_an_index(collection, title)
1547: res = []
1548: collection.sort.each do |f|
1549: if f.document_self
1550: res << { "href" => f.path, "name" => f.index_name }
1551: end
1552: end
1553:
1554: return {
1555: "entries" => res,
1556: 'list_title' => title,
1557: 'index_url' => main_url,
1558: }
1559: end
# File generators/html_generator.rb, line 1537
1537: def gen_class_index
1538: gen_an_index(@classes, 'Classes')
1539: end
# File generators/html_generator.rb, line 1533
1533: def gen_file_index
1534: gen_an_index(@files, 'Files')
1535: end
# File generators/html_generator.rb, line 1525
1525: def gen_into(list)
1526: res = []
1527: list.each do |item|
1528: res << item.value_hash
1529: end
1530: res
1531: end
# File generators/html_generator.rb, line 1541
1541: def gen_method_index
1542: gen_an_index(HtmlMethod.all_methods, 'Methods')
1543: end
Build the initial indices and output objects based on an array of TopLevel objects containing the extracted information.
# File generators/html_generator.rb, line 1462
1462: def generate(info)
1463: @toplevels = info
1464: @files = []
1465: @classes = []
1466: @hyperlinks = {}
1467:
1468: build_indices
1469: generate_xml
1470: end
Generate all the HTML. For the one-file case, we generate all the information in to one big hash
# File generators/html_generator.rb, line 1504
1504: def generate_xml
1505: values = {
1506: 'charset' => @options.charset,
1507: 'files' => gen_into(@files),
1508: 'classes' => gen_into(@classes),
1509: 'title' => CGI.escapeHTML(@options.title),
1510: }
1511:
1512: # this method is defined in the template file
1513: write_extra_pages if defined? write_extra_pages
1514:
1515: template = TemplatePage.new(RDoc::Page::ONE_PAGE)
1516:
1517: if @options.op_name
1518: opfile = File.open(@options.op_name, "w")
1519: else
1520: opfile = $stdout
1521: end
1522: template.write_html_on(opfile, values)
1523: end