文件操作 - base_resolver.rb
返回文件管理
返回主菜单
删除本文件
文件: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/resolvers/base_resolver.rb
编辑文件内容
# frozen_string_literal: true module Facter module Resolvers class BaseResolver class << self attr_reader :log end def self.invalidate_cache @fact_list = {} end def self.init_resolver @fact_list = {} @semaphore = Mutex.new @log = Log.new(self) end def self.subscribe_to_manager Facter::SessionCache.subscribe(self) end def self.resolve(fact_name, options = {}) @semaphore.synchronize do subscribe_to_manager post_resolve(fact_name, options) cache_nil_for_unresolved_facts(fact_name) end rescue LoadError, NameError => e log.error("Resolving fact #{fact_name}, but got #{e} at #{e.backtrace[0]}") @fact_list[fact_name] = nil end def self.cache_nil_for_unresolved_facts(fact_name) @fact_list.fetch(fact_name) { @fact_list[fact_name] = nil } @fact_list[fact_name] end def self.post_resolve(_fact_name, _options) raise NotImplementedError, "You must implement post_resolve(fact_name, options) method in #{name}" end end end end
修改文件时间
将文件时间修改为当前时间的前一年
删除文件