62: def value
63: return @value if @value
64:
65: if @resolves.length == 0
66: Facter.debug "No resolves for %s" % @name
67: return nil
68: end
69:
70: searching do
71: @value = nil
72:
73: foundsuits = false
74: @value = @resolves.inject(nil) { |result, resolve|
75: next unless resolve.suitable?
76: foundsuits = true
77:
78: tmp = resolve.value
79:
80: break tmp unless tmp.nil? or tmp == ""
81: }
82:
83: unless foundsuits
84: Facter.debug "Found no suitable resolves of %s for %s" % [@resolves.length, @name]
85: end
86: end
87:
88: if @value.nil?
89:
90: Facter.debug("value for %s is still nil" % @name)
91: return nil
92: else
93: return @value
94: end
95: end