Class: RDoc::PuppetModule
- Includes:
- AddClassModuleComment
- Defined in:
- lib/puppet/util/rdoc/code_objects.rb
Overview
PuppetModule holds a Puppet Module This is mapped to an HTMLPuppetModule it leverage the RDoc (ruby) module infrastructure
Instance Attribute Summary collapse
-
#facts ⇒ Object
Returns the value of attribute facts.
-
#plugins ⇒ Object
Returns the value of attribute plugins.
Instance Method Summary collapse
- #add_fact(fact) ⇒ Object
- #add_fact_rdoc2(fact) ⇒ Object
- #add_node(name, superclass) ⇒ Object
- #add_node_rdoc1(name, superclass) ⇒ Object
-
#add_node_rdoc2(name, superclass) ⇒ Object
Adds a module called __nodes__ and adds nodes to it as classes.
- #add_plugin(plugin) ⇒ Object
- #add_plugin_rdoc2(plugin) ⇒ Object
- #each_fact ⇒ Object
- #each_node ⇒ Object
- #each_plugin ⇒ Object
-
#initialize(name, superclass = nil) ⇒ PuppetModule
constructor
A new instance of PuppetModule.
- #nodes ⇒ Object
Methods included from AddClassModuleComment
Constructor Details
#initialize(name, superclass = nil) ⇒ PuppetModule
Returns a new instance of PuppetModule.
37 38 39 40 41 42 |
# File 'lib/puppet/util/rdoc/code_objects.rb', line 37 def initialize(name,superclass=nil) @facts = [] @plugins = [] @nodes = {} super(name,superclass) end |
Instance Attribute Details
#facts ⇒ Object
Returns the value of attribute facts.
35 36 37 |
# File 'lib/puppet/util/rdoc/code_objects.rb', line 35 def facts @facts end |
#plugins ⇒ Object
Returns the value of attribute plugins.
35 36 37 |
# File 'lib/puppet/util/rdoc/code_objects.rb', line 35 def plugins @plugins end |
Instance Method Details
#add_fact(fact) ⇒ Object
70 71 72 73 74 75 76 |
# 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 |
#add_fact_rdoc2(fact) ⇒ Object
78 79 80 81 82 83 |
# 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 |
#add_node(name, superclass) ⇒ Object
85 86 87 88 89 90 91 |
# 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 |
#add_node_rdoc1(name, superclass) ⇒ Object
93 94 95 96 97 98 99 100 101 102 |
# 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 |
#add_node_rdoc2(name, superclass) ⇒ Object
Adds a module called __nodes__ and adds nodes to it as classes
106 107 108 109 110 111 112 113 114 |
# 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 |
#add_plugin(plugin) ⇒ Object
44 45 46 47 48 49 50 |
# 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 |
#add_plugin_rdoc2(plugin) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# 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 |
#each_fact ⇒ Object
116 117 118 |
# File 'lib/puppet/util/rdoc/code_objects.rb', line 116 def each_fact @facts.each {|c| yield c} end |
#each_node ⇒ Object
124 125 126 |
# File 'lib/puppet/util/rdoc/code_objects.rb', line 124 def each_node @nodes.each {|c| yield c} end |
#each_plugin ⇒ Object
120 121 122 |
# File 'lib/puppet/util/rdoc/code_objects.rb', line 120 def each_plugin @plugins.each {|c| yield c} end |
#nodes ⇒ Object
128 129 130 |
# File 'lib/puppet/util/rdoc/code_objects.rb', line 128 def nodes @nodes.values end |