diff options
author | Brice Figureau <brice-puppet@daysofwonder.com> | 2009-10-15 20:22:46 +0200 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-10-24 08:36:58 +1100 |
commit | 8d9fbbd4b9d7f1d467ea6123fedcf0ee74f4e8cc (patch) | |
tree | 4d077ecbd90400fc3b779dd0b529f4735e9fc096 /lib/puppet/util/rdoc/generators | |
parent | 41b7c3c70082a03563a6b59f23e72ba3735e6efe (diff) | |
download | puppet-8d9fbbd4b9d7f1d467ea6123fedcf0ee74f4e8cc.tar.gz puppet-8d9fbbd4b9d7f1d467ea6123fedcf0ee74f4e8cc.tar.xz puppet-8d9fbbd4b9d7f1d467ea6123fedcf0ee74f4e8cc.zip |
Fix #2703 - add 'require' to puppetdoc
Puppetdoc wasn't parsing 'require'. This patch adds a 'require' section
to list all required class from nodes and classes.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'lib/puppet/util/rdoc/generators')
-rw-r--r-- | lib/puppet/util/rdoc/generators/puppet_generator.rb | 39 | ||||
-rw-r--r-- | lib/puppet/util/rdoc/generators/template/puppet/puppet.rb | 25 |
2 files changed, 50 insertions, 14 deletions
diff --git a/lib/puppet/util/rdoc/generators/puppet_generator.rb b/lib/puppet/util/rdoc/generators/puppet_generator.rb index bf2609fd6..b7055e799 100644 --- a/lib/puppet/util/rdoc/generators/puppet_generator.rb +++ b/lib/puppet/util/rdoc/generators/puppet_generator.rb @@ -320,6 +320,26 @@ module Generators end + # This module is used to generate a referenced full name list of ContextUser + module ReferencedListBuilder + def build_referenced_list(list) + res = [] + list.each do |i| + ref = @context.find_symbol(i.name) + ref = ref.viewer if ref + name = i.respond_to?(:full_name) ? i.full_name : i.name + h_name = CGI.escapeHTML(name) + if ref and ref.document_self + path = url(ref.path) + res << { "name" => h_name, "aref" => path } + else + res << { "name" => h_name } + end + end + res + end + end + # This module is used to hold/generate a list of puppet resources # this is used in HTMLPuppetClass and HTMLPuppetNode module ResourceContainer @@ -360,7 +380,7 @@ module Generators end class HTMLPuppetClass < HtmlClass - include ResourceContainer + include ResourceContainer, ReferencedListBuilder def value_hash super @@ -376,12 +396,20 @@ module Generators secdata["resource_list"] = rdl unless rdl.empty? end end + + rl = build_require_list(@context) + @values["requires"] = rl unless rl.empty? + @values end + + def build_require_list(context) + build_referenced_list(context.requires) + end end class HTMLPuppetNode < ContextUser - include ResourceContainer + include ResourceContainer, ReferencedListBuilder attr_reader :path @@ -452,6 +480,9 @@ module Generators il = build_include_list(@context) @values["includes"] = il unless il.empty? + rl = build_require_list(@context) + @values["requires"] = rl unless rl.empty? + @values["sections"] = @context.sections.map do |section| secdata = { @@ -554,6 +585,10 @@ module Generators @values['infiles'] = files end + def build_require_list(context) + build_referenced_list(context.requires) + end + def <=>(other) self.name <=> other.name end diff --git a/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb b/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb index e12b6519c..c8f1e7d04 100644 --- a/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +++ b/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb @@ -538,18 +538,6 @@ IF:description </div> ENDIF:description -IF:requires - <div id="requires-list"> - <h3 class="section-bar">Required files</h3> - - <div class="name-list"> -START:requires - HREF:aref:name: -END:requires - </div> - </div> -ENDIF:requires - IF:toc <div id="contents-list"> <h3 class="section-bar">Contents</h3> @@ -601,6 +589,19 @@ END:includes </div> ENDIF:includes + <!-- if requires --> +IF:requires + <div id="requires"> + <h3 class="section-bar">Required Classes</h3> + + <div id="requires-list"> +START:requires + <span class="require-name">HREF:aref:name:</span> +END:requires + </div> + </div> +ENDIF:requires + START:sections <div id="section"> IF:sectitle |