82: def build_indices
83: @allfiles = []
84: @nodes = []
85: @plugins = []
86:
87:
88: @modules = {}
89: @allclasses = {}
90:
91:
92:
93:
94:
95: @toplevels = @toplevels.select { |tl| tl.is_a? RDoc::PuppetTopLevel }
96:
97:
98: @toplevels.each do |toplevel|
99: next unless toplevel.document_self
100: file = HtmlFile.new(toplevel, @options, FILE_DIR)
101: classes = []
102: methods = []
103: modules = []
104: nodes = []
105:
106:
107:
108: toplevel.each_classmodule do |k|
109: generate_class_list(classes, modules, k, toplevel, CLASS_DIR)
110: end
111:
112:
113: HtmlMethod.all_methods.each do |m|
114:
115:
116: if m.context.parent.toplevel === toplevel
117: methods << m
118: end
119: end
120:
121: classes.each do |k|
122: @allclasses[k.index_name] = k if !@allclasses.has_key?(k.index_name)
123: end
124:
125:
126: classes.each do |k|
127: if k.context.is_module?
128: k.context.each_node do |name,node|
129: nodes << HTMLPuppetNode.new(node, toplevel, NODE_DIR, @options)
130: @nodes << nodes.last
131: end
132: k.context.each_plugin do |plugin|
133: @plugins << HTMLPuppetPlugin.new(plugin, toplevel, PLUGIN_DIR, @options)
134: end
135: k.context.each_fact do |fact|
136: @plugins << HTMLPuppetPlugin.new(fact, toplevel, PLUGIN_DIR, @options)
137: end
138: end
139: end
140:
141: @files << file
142: @allfiles << { "file" => file, "modules" => modules, "classes" => classes, "methods" => methods, "nodes" => nodes }
143: end
144:
145:
146: @allclasses.values.each do |klass|
147: if superklass = klass.context.superclass
148: if superklass = AllReferences[superklass] and (superklass.is_a?(HTMLPuppetClass) or superklass.is_a?(HTMLPuppetNode))
149: superklass.context.add_child(klass.context)
150: end
151: end
152: end
153:
154: @classes = @allclasses.values
155: end