lib/facter/util/confine.rb in facter-1.6.1 vs lib/facter/util/confine.rb in facter-1.6.2

- old
+ new

@@ -2,40 +2,40 @@ # for the resolution mechanism to be suitable. require 'facter/util/values' class Facter::Util::Confine - attr_accessor :fact, :values + attr_accessor :fact, :values - include Facter::Util::Values + include Facter::Util::Values - # Add the restriction. Requires the fact name, an operator, and the value - # we're comparing to. - def initialize(fact, *values) - raise ArgumentError, "The fact name must be provided" unless fact - raise ArgumentError, "One or more values must be provided" if values.empty? - @fact = fact - @values = values - end + # Add the restriction. Requires the fact name, an operator, and the value + # we're comparing to. + def initialize(fact, *values) + raise ArgumentError, "The fact name must be provided" unless fact + raise ArgumentError, "One or more values must be provided" if values.empty? + @fact = fact + @values = values + end - def to_s - return "'%s' '%s'" % [@fact, @values.join(",")] + def to_s + return "'%s' '%s'" % [@fact, @values.join(",")] + end + + # Evaluate the fact, returning true or false. + def true? + unless fact = Facter[@fact] + Facter.debug "No fact for %s" % @fact + return false end + value = convert(fact.value) - # Evaluate the fact, returning true or false. - def true? - unless fact = Facter[@fact] - Facter.debug "No fact for %s" % @fact - return false - end - value = convert(fact.value) + return false if value.nil? - return false if value.nil? - - @values.each do |v| - v = convert(v) - next unless v.class == value.class - return true if value == v - end - return false + @values.each do |v| + v = convert(v) + next unless v.class == value.class + return true if value == v end + return false + end end