lib/facter/framework/parsers/query_parser.rb in facter-4.0.52 vs lib/facter/framework/parsers/query_parser.rb in facter-4.1.0
- old
+ new
@@ -67,23 +67,16 @@
def get_facts_matching_tokens(query_tokens, query_token_range, loaded_fact_hash)
@log.debug "Checking query tokens #{query_tokens[query_token_range].join('.')}"
resolvable_fact_list = []
loaded_fact_hash.each do |loaded_fact|
- # return the fact if toplevel namespace is found in the first query token
- # eg. query: 'os.name' and loaded_fact_hash contains a fact with 'os' name
- # it will construt and return the 'os' fact
- if loaded_fact.name == query_tokens[0]
- resolvable_fact_list = [construct_loaded_fact(query_tokens, query_token_range, loaded_fact)]
- else
- query_fact = query_tokens[query_token_range].join('.')
+ query_fact = query_tokens[query_token_range].join('.')
- next unless found_fact?(loaded_fact.name, query_fact)
+ next unless found_fact?(loaded_fact.name, query_fact)
- searched_fact = construct_loaded_fact(query_tokens, query_token_range, loaded_fact)
- resolvable_fact_list << searched_fact
- end
+ searched_fact = construct_loaded_fact(query_tokens, query_token_range, loaded_fact)
+ resolvable_fact_list << searched_fact
end
@log.debug "List of resolvable facts: #{resolvable_fact_list.inspect}"
resolvable_fact_list
end
@@ -111,10 +104,10 @@
sf
end
def construct_filter_tokens(query_tokens, query_token_range)
- (query_tokens - query_tokens[query_token_range]).map do |token|
+ query_tokens.drop(query_token_range.size).map do |token|
token =~ /^[0-9]+$/ ? token.to_i : token
end
end
end
end