Class | Facter::Confine |
In: |
lib/facter.rb
|
Parent: | Object |
A restricting tag for fact resolution mechanisms. The tag must be true for the resolution mechanism to be suitable.
fact | [RW] | |
op | [RW] | |
value | [RW] |
Add the tag. Requires the fact name, an operator, and the value we‘re comparing to.
# File lib/facter.rb, line 538 538: def initialize(fact, *values) 539: fact = fact.to_s if fact.is_a? Symbol 540: @fact = fact 541: @values = values.collect do |value| 542: if value.is_a? String 543: value 544: else 545: value.to_s 546: end 547: end 548: end
# File lib/facter.rb, line 550 550: def to_s 551: return "'%s' '%s'" % [@fact, @values.join(",")] 552: end
Evaluate the fact, returning true or false.
# File lib/facter.rb, line 555 555: def true? 556: fact = nil 557: unless fact = Facter[@fact] 558: Facter.debug "No fact for %s" % @fact 559: return false 560: end 561: value = fact.value 562: 563: if value.nil? 564: return false 565: end 566: 567: retval = @values.find { |v| 568: if value.downcase == v.downcase 569: break true 570: end 571: } 572: 573: if retval 574: retval = true 575: else 576: retval = false 577: end 578: 579: return retval || false 580: end