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