Method: Puppet::Util::ProviderFeatures#featuredocs

Defined in:
lib/puppet/util/provider_features.rb

#featuredocsString

Returns a string with documentation covering all features.

Returns:

  • (String)

    Returns a string with documentation covering all features.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/puppet/util/provider_features.rb', line 80

def featuredocs
  str = ''.dup
  @features ||= {}
  return nil if @features.empty?

  names = @features.keys.sort_by(&:to_s)
  names.each do |name|
    doc = @features[name].docs.gsub(/\n\s+/, " ")
    str << "- *#{name}*: #{doc}\n"
  end

  if providers.length > 0
    headers = ["Provider", names].flatten
    data = {}
    providers.each do |provname|
      data[provname] = []
      prov = provider(provname)
      names.each do |name|
        if prov.feature?(name)
          data[provname] << "*X*"
        else
          data[provname] << ""
        end
      end
    end
    str << doctable(headers, data)
  end
  str
end