Sha256: 694379abbf205e31c521406adb946dcfdf6409b747f21fcf815c1e3613252785

Contents?: true

Size: 1.15 KB

Versions: 33

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module Facter
  class ExternalFactLoader
    def custom_facts
      @custom_facts = load_custom_facts
    end

    def external_facts
      @external_facts = load_external_facts
    end

    def load_fact(fact_name)
      build_custom_facts(LegacyFacter.collection.custom_fact(fact_name)) || []
    end

    private

    def load_custom_facts
      custom_facts_to_load = LegacyFacter.collection.custom_facts
      build_custom_facts(custom_facts_to_load) || []
    end

    def build_custom_facts(custom_facts_to_load)
      custom_facts_to_load&.map do |k, v|
        loaded_fact = LoadedFact.new(k.to_s, nil, :custom)
        loaded_fact.is_env = v.options[:is_env] if v.options[:is_env]
        loaded_fact
      end
    end

    def load_external_facts
      external_facts = []

      external_facts_to_load = LegacyFacter.collection.external_facts

      external_facts_to_load&.each do |k, v|
        loaded_fact = LoadedFact.new(k.to_s, nil, :external)
        loaded_fact.file = v.options[:file]
        loaded_fact.is_env = v.options[:is_env]
        external_facts << loaded_fact
      end

      external_facts
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
facter-4.10.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.9.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.8.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.7.1 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.7.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.6.1 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.6.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.5.2 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.5.1 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.5.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.4.3 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.4.2 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.4.1 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.4.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.3.1 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.3.0 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.2.14 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.2.13 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.2.12 lib/facter/framework/core/fact_loaders/external_fact_loader.rb
facter-4.2.11 lib/facter/framework/core/fact_loaders/external_fact_loader.rb