def generate_class_list @items = options.objects.select{|o| [:module, :class, :root].include? o.type} if options.objects @list_title = "Class List" @list_type = "class" generate_list_contents end def generate_puppet_manifest_list @items = options.objects.select{|o| [:hostclass, :definedtype].include? o.type} if options.objects @list_title = "Puppet Manifest List" # This is important. It causes some YARD JavaScript bits to hook in and # perform the correct formatting. @list_class = "class" @list_type = "puppet_manifest" generate_list_contents end # A hacked version of class_list that can be instructed to only display certain # namespace types. This allows us to separate Puppet bits from Ruby bits. def namespace_list(opts = {}) o = { :root => Registry.root, :namespace_types => [:module, :class] }.merge(opts) root = o[:root] namespace_types = o[:namespace_types] out = "" children = run_verifier(root.children) if root == Registry.root children += @items.select {|o| o.namespace.is_a?(CodeObjects::Proxy) } end children.reject {|c| c.nil? }.sort_by {|child| child.path }.map do |child| if namespace_types.include? child.type name = child.namespace.is_a?(CodeObjects::Proxy) ? child.path : child.name has_children = child.respond_to?(:children) && run_verifier(child.children).any? {|o| o.is_a?(CodeObjects::NamespaceObject) } out << "