# 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