class TypeDoc
Public Class Methods
new()
click to toggle source
# File lib/puppet/application/describe.rb 55 def initialize 56 @format = Formatter.new(76) 57 @types = {} 58 Puppet::Type.loadall 59 Puppet::Type.eachtype { |type| 60 next if type.name == :component 61 @types[type.name] = type 62 } 63 end
Public Instance Methods
format_attrs(type, attrs)
click to toggle source
List details about attributes
# File lib/puppet/application/describe.rb 121 def format_attrs(type, attrs) 122 docs = {} 123 type.allattrs.each do |name| 124 kind = type.attrtype(name) 125 docs[name] = type.attrclass(name).doc if attrs.include?(kind) && name != :provider 126 end 127 128 docs.sort { |a,b| 129 a[0].to_s <=> b[0].to_s 130 }.each { |name, doc| 131 print "\n- **#{name}**" 132 if type.key_attributes.include?(name) and name != :name 133 puts " (*namevar*)" 134 else 135 puts "" 136 end 137 puts @format.wrap(doc, :indent => 4, :scrub => true) 138 } 139 end
format_providers(type)
click to toggle source
# File lib/puppet/application/describe.rb 151 def format_providers(type) 152 type.providers.sort_by(&:to_s).each { |prov| 153 puts "\n- **#{prov}**" 154 puts @format.wrap(type.provider(prov).doc, :indent => 4, :scrub => true) 155 } 156 end
format_type(name, opts)
click to toggle source
# File lib/puppet/application/describe.rb 84 def format_type(name, opts) 85 name = name.to_sym 86 unless @types.has_key?(name) 87 puts "Unknown type #{name}" 88 return 89 end 90 type = @types[name] 91 puts @format.header(name.to_s, "=") 92 puts @format.wrap(type.doc, :indent => 0, :scrub => true) + "\n\n" 93 94 puts @format.header("Parameters") 95 if opts[:parameters] 96 format_attrs(type, [:property, :param]) 97 else 98 list_attrs(type, [:property, :param]) 99 end 100 101 if opts[:meta] 102 puts @format.header("Meta Parameters") 103 if opts[:parameters] 104 format_attrs(type, [:meta]) 105 else 106 list_attrs(type, [:meta]) 107 end 108 end 109 110 if type.providers.size > 0 111 puts @format.header("Providers") 112 if opts[:providers] 113 format_providers(type) 114 else 115 list_providers(type) 116 end 117 end 118 end
list_attrs(type, attrs)
click to toggle source
List the names of attributes
# File lib/puppet/application/describe.rb 142 def list_attrs(type, attrs) 143 params = [] 144 type.allattrs.each do |name| 145 kind = type.attrtype(name) 146 params << name.to_s if attrs.include?(kind) && name != :provider 147 end 148 puts @format.wrap(params.sort.join(", "), :indent => 4) 149 end
list_providers(type)
click to toggle source
# File lib/puppet/application/describe.rb 158 def list_providers(type) 159 list = type.providers.sort_by(&:to_s).join(", ") 160 puts @format.wrap(list, :indent => 4) 161 end
list_types()
click to toggle source
# File lib/puppet/application/describe.rb 65 def list_types 66 puts "These are the types known to puppet:\n" 67 @types.keys.sort_by(&:to_s).each do |name| 68 type = @types[name] 69 s = type.doc.gsub(/\s+/, " ") 70 if s.empty? 71 s = ".. no documentation .." 72 else 73 n = s.index(".") || s.length 74 if n > 45 75 s = s[0, 45] + " ..." 76 else 77 s = s[0, n] 78 end 79 end 80 printf "%-15s - %s\n", name, s 81 end 82 end