# File lib/facter/util/fact.rb, line 33 def add(&block) raise ArgumentError, "You must pass a block to Fact<instance>.add" unless block_given? begin resolve = Facter::Util::Resolution.new(@name) resolve.instance_eval(&block) @resolves << resolve # Immediately sort the resolutions, so that we always have # a sorted list for looking up values. @resolves.sort! { |a, b| b.weight <=> a.weight } resolve rescue => e Facter.warn "Unable to add resolve for #{@name}: #{e}" nil end end