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
102 def initialize(name, superclass)
103   super(name,superclass)
104   @resource_list = []
105   @requires = []
106   @realizes = []
107   @childs = []
108 end

Public Instance Methods

add_child(child) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
137 def add_child(child)
138   @childs << child
139 end
add_realize(realized) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
133 def add_realize(realized)
134   add_to(@realizes, realized)
135 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
129 def add_require(required)
130   add_to(@requires, required)
131 end
add_resource(resource) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
114 def add_resource(resource)
115   add_to(@resource_list, resource)
116 end
aref_prefix() click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
110 def aref_prefix
111   'puppet_class'
112 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
145 def find_symbol(symbol, method=nil)
146   result = super(symbol)
147   if not result and symbol =~ /::/
148     modules = symbol.split(/::/)
149     unless modules.empty?
150       module_name = modules.shift
151       result = find_module_named(module_name)
152       if result
153         last_name = ""
154         previous = nil
155         modules.each do |mod|
156           previous = result
157           last_name = mod
158           result = result.find_module_named(mod)
159           break unless result
160         end
161         unless result
162           result = previous
163           method = last_name
164         end
165       end
166     end
167     if result && method
168       if !result.respond_to?(:find_local_symbol)
169         p result.name
170         p method
171         fail
172       end
173       result = result.find_local_symbol(method)
174     end
175   end
176   result
177 end
is_module?() click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
118 def is_module?
119   false
120 end
superclass=(superclass) click to toggle source
    # File lib/puppet/util/rdoc/code_objects.rb
122 def superclass=(superclass)
123   @superclass = superclass
124 end