Sha256: 26d8cde4429dcfd5802e7d20da914c0de9c7e810703aea7d56c50e1054e90f57
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true module Facter class InternalFactLoader attr_reader :facts def core_facts @facts.select { |fact| fact.type == :core } end def legacy_facts @facts.select { |fact| fact.type == :legacy } end def initialize @facts = [] os_descendents = OsDetector.instance.hierarchy load_all_oses(os_descendents) end private def load_all_oses(os_descendents) os_descendents.each do |os| load_for_os(os) end end def load_for_os(operating_system) # select only classes classes = ClassDiscoverer.instance.discover_classes(operating_system) classes.each do |class_name| klass = klass(operating_system, class_name) fact_name = klass::FACT_NAME load_fact(fact_name, klass) [*klass::ALIASES].each { |fact_alias| load_fact(fact_alias, klass) } if klass.const_defined?('ALIASES') end end def klass(operating_system, class_name) Class.const_get("Facter::#{operating_system}::" + class_name.to_s) end def load_fact(fact_name, klass) loaded_fact = LoadedFact.new(fact_name, klass) @facts << loaded_fact end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
facter-4.0.8.pre | lib/framework/core/fact_loaders/internal_fact_loader.rb |
facter-4.0.7.pre | lib/framework/core/fact_loaders/internal_fact_loader.rb |