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