# File lib/facter.rb, line 129 129: def method_missing(name, *args) 130: question = false 131: if name.to_s =~ /\?$/ 132: question = true 133: name = name.to_s.sub(/\?$/,'') 134: end 135: 136: if fact = collection.fact(name) 137: if question 138: value = fact.value.downcase 139: args.each do |arg| 140: if arg.to_s.downcase == value 141: return true 142: end 143: end 144: 145: # If we got this far, there was no match. 146: return false 147: else 148: return fact.value 149: end 150: else 151: # Else, fail like a normal missing method. 152: raise NoMethodError, "Could not find fact '%s'" % name 153: end 154: end