PuppetModule holds a Puppet Module This is mapped to an HTMLPuppetModule it leverage the RDoc (ruby) module infrastructure
# File lib/puppet/util/rdoc/code_objects.rb, line 70 def add_fact(fact) if PUPPET_RDOC_VERSION == 1 add_to(@facts, fact) else add_fact_rdoc2(fact) end end
# File lib/puppet/util/rdoc/code_objects.rb, line 78 def add_fact_rdoc2(fact) @fact_container ||= add_module(NormalModule, "__facts__") confine_str = fact.confine.empty? ? '' : fact.confine.to_s const = Constant.new(fact.name, confine_str, fact.comment) @fact_container.add_constant(const) end
# File lib/puppet/util/rdoc/code_objects.rb, line 85 def add_node(name, superclass) if PUPPET_RDOC_VERSION == 1 add_node_rdoc1(name, superclass) else add_node_rdoc2(name, superclass) end end
# File lib/puppet/util/rdoc/code_objects.rb, line 93 def add_node_rdoc1(name, superclass) cls = @nodes[name] unless cls cls = PuppetNode.new(name, superclass) @nodes[name] = cls if !@done_documenting cls.parent = self cls.section = @current_section end cls end
Adds a module called __nodes__ and adds nodes to it as classes
# File lib/puppet/util/rdoc/code_objects.rb, line 106 def add_node_rdoc2(name,superclass) if cls = @nodes[name] return cls end @node_container ||= add_module(NormalModule, "__nodes__") cls = @node_container.add_class(PuppetNode, name, superclass) @nodes[name] = cls if !@done_documenting cls end
# File lib/puppet/util/rdoc/code_objects.rb, line 44 def add_plugin(plugin) if PUPPET_RDOC_VERSION == 1 add_to(@plugins, plugin) else add_plugin_rdoc2(plugin) end end
# File lib/puppet/util/rdoc/code_objects.rb, line 52 def add_plugin_rdoc2(plugin) name = plugin.name type = plugin.type meth = AnyMethod.new("*args", name) meth.params = "(*args)" meth.visibility = :public meth.document_self = true meth.singleton = false meth.comment = plugin.comment if type == 'function' @function_container ||= add_module(NormalModule, "__functions__") @function_container.add_method(meth) elsif type == 'type' @type_container ||= add_module(NormalModule, "__types__") @type_container.add_method(meth) end end
# File lib/puppet/util/rdoc/code_objects.rb, line 116 def each_fact @facts.each {|c| yield c} end
# File lib/puppet/util/rdoc/code_objects.rb, line 124 def each_node @nodes.each {|c| yield c} end
# File lib/puppet/util/rdoc/code_objects.rb, line 120 def each_plugin @plugins.each {|c| yield c} end
# File lib/puppet/util/rdoc/code_objects.rb, line 128 def nodes @nodes.values end
# File lib/puppet/util/rdoc/code_objects.rb, line 37 def initialize(name,superclass=nil) @facts = [] @plugins = [] @nodes = {} super(name,superclass) end