Sha256: a8eb8338fe650476cf39a221bf2bad1129e49ac4ac0077c5d3dd37ad67f5ea5e
Contents?: true
Size: 933 Bytes
Versions: 15
Compression:
Stored size: 933 Bytes
Contents
# A restricting tag for fact resolution mechanisms. The tag must be true # for the resolution mechanism to be suitable. require 'facter/util/values' class Facter::Util::Confine attr_accessor :fact, :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 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) return false if value.nil? return @values.any? { |v| convert(v) === value } end end
Version data entries
15 entries across 15 versions & 1 rubygems