47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/facter/framework/parsers/query_parser.rb', line 47
def search_for_facts(query, loaded_facts)
resolvable_fact_list = []
query = query.to_s
query_tokens = query.end_with?('.*') ? [query] : query.split('.')
size = query_tokens.size
size.times do |i|
query_token_range = 0..size - i - 1
query_fact = query_tokens[query_token_range].join('.')
resolvable_fact_list = get_facts_matching_tokens(query_tokens, query_fact, loaded_facts)
return resolvable_fact_list if resolvable_fact_list.any?
end
resolvable_fact_list << SearchedFact.new(query, nil, query, :nil) if resolvable_fact_list.empty?
resolvable_fact_list
end
|