Method: Puppet::Util::ProviderFeatures#feature
- Defined in:
- lib/puppet/util/provider_features.rb
#feature(name, docs, hash = {}) ⇒ Object
TODO:
How methods that determine if the feature is present are specified.
Defines one feature. At a minimum, a feature requires a name and docs, and at this point they should also specify a list of methods required to determine if the feature is present.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/puppet/util/provider_features.rb', line 63 def feature(name, docs, hash = {}) @features ||= {} raise Puppet::DevError, _("Feature %{name} is already defined") % { name: name } if @features.include?(name) begin obj = ProviderFeature.new(name, docs, **hash) @features[obj.name] = obj rescue ArgumentError => detail error = ArgumentError.new( _("Could not create feature %{name}: %{detail}") % { name: name, detail: detail } ) error.set_backtrace(detail.backtrace) raise error end end |