# File lib/facter/util/fact.rb, line 33 33: def add(&block) 34: raise ArgumentError, "You must pass a block to Fact<instance>.add" unless block_given? 35: 36: begin 37: resolve = Facter::Util::Resolution.new(@name) 38: 39: resolve.instance_eval(&block) 40: 41: @resolves << resolve 42: 43: # Immediately sort the resolutions, so that we always have 44: # a sorted list for looking up values. 45: @resolves.sort! { |a, b| b.weight <=> a.weight } 46: 47: resolve 48: rescue => e 49: Facter.warn "Unable to add resolve for #{@name}: #{e}" 50: nil 51: end 52: end