# File lib/puppet/util/provider_features.rb, line 56 56: def feature(name, docs, hash = {}) 57: @features ||= {} 58: raise(Puppet::DevError, "Feature %s is already defined" % name) if @features.include?(name) 59: begin 60: obj = ProviderFeature.new(name, docs, hash) 61: @features[obj.name] = obj 62: rescue ArgumentError => detail 63: error = ArgumentError.new( 64: "Could not create feature %s: %s" % [name, detail] 65: ) 66: error.set_backtrace(detail.backtrace) 67: raise error 68: end 69: end