Sha256: c365a7a68b804c05c9ce8f5d6a5cec5edf6cfd848400d7529c3c935aa35cdb6d

Contents?: true

Size: 1.26 KB

Versions: 37

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

module Facter
  module FactAugmenter
    def self.augment_resolved_facts(searched_facts, resolved_facts)
      augumented_resolved_facts = []
      searched_facts.each do |searched_fact|
        matched_facts = get_resolved_facts_for_searched_fact(searched_fact, resolved_facts)
        augment_resolved_fact_for_user_query!(searched_fact, matched_facts)
        augumented_resolved_facts.concat(matched_facts)
      end

      augumented_resolved_facts
    end

    private_class_method def self.get_resolved_facts_for_searched_fact(searched_fact, resolved_facts)
      if searched_fact.name.include?('.*')
        resolved_facts
          .select { |resolved_fact| resolved_fact.name.match(searched_fact.user_query) }
          .reject(&:user_query)
          .uniq(&:name)
      else
        resolved_facts
          .select { |resolved_fact| searched_fact.name.eql?(resolved_fact.name) }
          .reject(&:user_query)
          .uniq(&:name)
      end
    end

    private_class_method def self.augment_resolved_fact_for_user_query!(searched_fact, matched_facts)
      matched_facts.each do |matched_fact|
        matched_fact.user_query = searched_fact.user_query
        matched_fact.filter_tokens = searched_fact.filter_tokens
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
facter-4.0.44 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.43 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.42 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.41 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.40 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.39 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.38 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.37 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.36 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.35 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.34 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.33 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.32 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.31 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.30 lib/facter/framework/core/fact_augmenter.rb
facter-4.0.29 lib/framework/core/fact_augmenter.rb
facter-4.0.28 lib/framework/core/fact_augmenter.rb
facter-4.0.26 lib/framework/core/fact_augmenter.rb
facter-4.0.25 lib/framework/core/fact_augmenter.rb
facter-4.0.24 lib/framework/core/fact_augmenter.rb