# File lib/facter/util/fact.rb, line 61
  def define_resolution(resolution_name, options = {}, &block)

    resolution_type = options.delete(:type) || :simple

    resolve = create_or_return_resolution(resolution_name, resolution_type)

    resolve.set_options(options) unless options.empty?
    resolve.evaluate(&block) if block

    resolve
  rescue => e
    Facter.log_exception(e, "Unable to add resolve #{resolution_name.inspect} for fact #{@name}: #{e.message}")
  end