class Facter::Resolvers::BaseResolver

Public Class Methods

invalidate_cache() click to toggle source
# File lib/facter/resolvers/base_resolver.rb, line 9
def self.invalidate_cache
  @fact_list = {}
end
log() click to toggle source
# File lib/facter/resolvers/base_resolver.rb, line 5
def self.log
  @log ||= Log.new(self)
end
post_resolve(_fact_name) click to toggle source
# File lib/facter/resolvers/base_resolver.rb, line 32
def self.post_resolve(_fact_name)
  raise NotImplementedError, "You must implement post_resolve(fact_name) method in #{name}"
end
resolve(fact_name) click to toggle source
# File lib/facter/resolvers/base_resolver.rb, line 17
def self.resolve(fact_name)
  subscribe_to_manager
  post_resolve(fact_name)

  validate_resolution(fact_name)
rescue LoadError, NameError => e
  log.debug("resolving fact #{fact_name}, but #{e}")
  @fact_list[fact_name] = nil
end
subscribe_to_manager() click to toggle source
# File lib/facter/resolvers/base_resolver.rb, line 13
def self.subscribe_to_manager
  Facter::SessionCache.subscribe(self)
end
validate_resolution(fact_name) click to toggle source
# File lib/facter/resolvers/base_resolver.rb, line 27
def self.validate_resolution(fact_name)
  @fact_list.fetch(fact_name) { @fact_list[fact_name] = nil }
  @fact_list[fact_name]
end