class Facter::Resolvers::Augeas
Private Class Methods
post_resolve(fact_name)
click to toggle source
# File lib/facter/resolvers/augeas_resolver.rb, line 10 def post_resolve(fact_name) @fact_list.fetch(fact_name) { read_augeas_version(fact_name) } end
read_augeas_from_cli()
click to toggle source
# File lib/facter/resolvers/augeas_resolver.rb, line 21 def read_augeas_from_cli command = if File.readable?('/opt/puppetlabs/puppet/bin/augparse') '/opt/puppetlabs/puppet/bin/augparse' else 'augparse' end output = Facter::Core::Execution.execute("#{command} --version 2>&1", logger: log) Regexp.last_match(1) if output =~ /^augparse (\d+\.\d+\.\d+)/ end
read_augeas_from_gem()
click to toggle source
# File lib/facter/resolvers/augeas_resolver.rb, line 32 def read_augeas_from_gem require 'augeas' if Gem.loaded_specs['augeas'] ::Augeas.create { |aug| aug.get('/augeas/version') } else # it is used for legacy augeas <= 0.5.0 (ruby-augeas gem) ::Augeas.open { |aug| aug.get('/augeas/version') } end end
read_augeas_version(fact_name)
click to toggle source
# File lib/facter/resolvers/augeas_resolver.rb, line 14 def read_augeas_version(fact_name) @fact_list[:augeas_version] = read_augeas_from_cli @fact_list[:augeas_version] ||= read_augeas_from_gem @fact_list[fact_name] end