# File lib/puppet/util/feature.rb, line 14 14: def add(name, options = {}) 15: method = name.to_s + "?" 16: raise ArgumentError, "Feature #{name} is already defined" if self.class.respond_to?(method) 17: 18: if block_given? 19: begin 20: result = yield 21: rescue Exception => detail 22: warn "Failed to load feature test for #{name}: #{detail}" 23: result = false 24: end 25: @results[name] = result 26: end 27: 28: meta_def(method) do 29: @results[name] = test(name, options) unless @results.include?(name) 30: @results[name] 31: end 32: end