class Facter::ExternalFactManager

Public Instance Methods

resolve_facts(searched_facts) click to toggle source
# File lib/facter/framework/core/fact/external/external_fact_manager.rb, line 5
def resolve_facts(searched_facts)
  searched_facts = filter_external_facts(searched_facts)
  external_facts(searched_facts)
end

Private Instance Methods

external_facts(custom_facts) click to toggle source
# File lib/facter/framework/core/fact/external/external_fact_manager.rb, line 16
def external_facts(custom_facts)
  resolved_custom_facts = []

  custom_facts.each do |custom_fact|
    fact = LegacyFacter[custom_fact.name]
    resolved_fact = ResolvedFact.new(custom_fact.name, fact.value, :custom)
    resolved_fact.user_query = custom_fact.user_query
    resolved_fact.file = fact.options[:file]

    resolved_custom_facts << resolved_fact
  end

  resolved_custom_facts
end
filter_external_facts(searched_facts) click to toggle source
# File lib/facter/framework/core/fact/external/external_fact_manager.rb, line 12
def filter_external_facts(searched_facts)
  searched_facts.select { |searched_fact| %i[custom external].include?(searched_fact.type) }
end