class RDoc::PuppetClass

PuppetClass holds a puppet class It is mapped to a HTMLPuppetClass for display It leverages RDoc (ruby) Class

Attributes

childs[RW]
realizes[RW]
requires[RW]
resource_list[RW]

Public Class Methods

new(name, superclass) click to toggle source
Calls superclass method
    # File lib/puppet/util/rdoc/code_objects.rb
103 def initialize(name, superclass)
104   super(name,superclass)
105   @resource_list = []
106   @requires = []
107   @realizes = []
108   @childs = []
109 end

Public Instance Methods

add_child(child) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
138 def add_child(child)
139   @childs << child
140 end
add_realize(realized) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
134 def add_realize(realized)
135   add_to(@realizes, realized)
136 end
add_require(required) click to toggle source

we're (ab)using the RDoc require system here. we're adding a required Puppet class, overriding the RDoc add_require method which sees ruby required files.

    # File lib/puppet/util/rdoc/code_objects.rb
130 def add_require(required)
131   add_to(@requires, required)
132 end
add_resource(resource) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
115 def add_resource(resource)
116   add_to(@resource_list, resource)
117 end
aref_prefix() click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
111 def aref_prefix
112   'puppet_class'
113 end
find_symbol(symbol, method=nil) click to toggle source

Look up the given symbol. RDoc only looks for class1::class2.method or class1::class2#method. Since our definitions are mapped to RDoc methods but are written class1::class2::define we need to perform the lookup by ourselves.

Calls superclass method
    # File lib/puppet/util/rdoc/code_objects.rb
146 def find_symbol(symbol, method=nil)
147   result = super(symbol)
148   if not result and symbol =~ /::/
149     modules = symbol.split(/::/)
150     unless modules.empty?
151       module_name = modules.shift
152       result = find_module_named(module_name)
153       if result
154         last_name = ""
155         previous = nil
156         modules.each do |mod|
157           previous = result
158           last_name = mod
159           result = result.find_module_named(mod)
160           break unless result
161         end
162         unless result
163           result = previous
164           method = last_name
165         end
166       end
167     end
168     if result && method
169       if !result.respond_to?(:find_local_symbol)
170         p result.name
171         p method
172         fail
173       end
174       result = result.find_local_symbol(method)
175     end
176   end
177   result
178 end
is_module?() click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
119 def is_module?
120   false
121 end
superclass=(superclass) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
123 def superclass=(superclass)
124   @superclass = superclass
125 end