Class: Facter::CacheManager
- Inherits:
 - 
      Object
      
        
- Object
 - Facter::CacheManager
 
 
- Defined in:
 - lib/facter/framework/core/cache_manager.rb
 
Instance Method Summary collapse
- #cache_facts(resolved_facts) ⇒ Object
 - #fact_cache_enabled?(fact_name) ⇒ Boolean
 - 
  
    
      #initialize  ⇒ CacheManager 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of CacheManager.
 - #resolve_facts(searched_facts) ⇒ Object
 
Constructor Details
#initialize ⇒ CacheManager
Returns a new instance of CacheManager.
      5 6 7 8 9 10  | 
    
      # File 'lib/facter/framework/core/cache_manager.rb', line 5 def initialize @groups = {} @log = Log.new(self) @fact_groups = Facter::FactGroups.new @cache_dir = LegacyFacter::Util::Config.facts_cache_dir end  | 
  
Instance Method Details
#cache_facts(resolved_facts) ⇒ Object
      29 30 31 32 33 34 35 36 37 38 39 40 41 42  | 
    
      # File 'lib/facter/framework/core/cache_manager.rb', line 29 def cache_facts(resolved_facts) return unless Options[:cache] && Options[:ttls].any? @groups = {} resolved_facts.each do |fact| cache_fact(fact) end begin write_cache unless @groups.empty? rescue Errno::EACCES => e @log.warn("Could not write cache: #{e.}") end end  | 
  
#fact_cache_enabled?(fact_name) ⇒ Boolean
      44 45 46 47 48 49 50 51 52 53 54  | 
    
      # File 'lib/facter/framework/core/cache_manager.rb', line 44 def fact_cache_enabled?(fact_name) fact = @fact_groups.get_fact(fact_name) if fact !fact[:ttls].nil? else false end # fact_group = @fact_groups.get_fact_group(fact_name) # delete_cache(fact_group) if fact_group && !cached end  | 
  
#resolve_facts(searched_facts) ⇒ Object
      12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | 
    
      # File 'lib/facter/framework/core/cache_manager.rb', line 12 def resolve_facts(searched_facts) return searched_facts, [] if (!File.directory?(@cache_dir) || !Options[:cache]) && Options[:ttls].any? facts = [] searched_facts.delete_if do |fact| res = resolve_fact(fact) if res facts << res true else false end end [searched_facts, facts.flatten] end  |