class Facter::FactFilter

Public Instance Methods

filter_facts!(resolved_facts, user_query) click to toggle source
# File lib/facter/framework/core/fact_filter.rb, line 5
def filter_facts!(resolved_facts, user_query)
  filter_legacy_facts!(resolved_facts) if user_query.empty?
  filter_blocked_legacy_facts!(resolved_facts)
  resolved_facts
end

Private Instance Methods

filter_blocked_legacy_facts!(facts) click to toggle source

This will filter out the legacy facts that should be blocked. Because some legacy facts are just aliases to the core ones, even if they are blocked, facter will resolved them but they won't be displayed.

# File lib/facter/framework/core/fact_filter.rb, line 16
def filter_blocked_legacy_facts!(facts)
  blocked_facts = Options[:blocked_facts] || []

  facts.reject! do |fact|
    blocked_facts.select { |blocked_fact| fact.name.match(/^#{blocked_fact}/) && fact.type == :legacy }.any?
  end
end
filter_legacy_facts!(resolved_facts) click to toggle source
# File lib/facter/framework/core/fact_filter.rb, line 24
def filter_legacy_facts!(resolved_facts)
  return if Options[:show_legacy]

  resolved_facts.reject!(&:legacy?)
end