class Facter::Resolvers::LsbRelease

Private Class Methods

build_fact_list(info) click to toggle source
# File lib/facter/resolvers/lsb_release.rb, line 36
def build_fact_list(info)
  release_info = info.delete("\t").split("\n").map { |e| e.split(':', 2) }

  result = Hash[*release_info.flatten]
  result.each { |k, v| @fact_list[k.downcase.gsub(/\s/, '_').to_sym] = v }

  @fact_list[:identifier] = @fact_list[:distributor_id]
end
lsb_release_installed?() click to toggle source
# File lib/facter/resolvers/lsb_release.rb, line 27
def lsb_release_installed?
  @fact_list[:lsb_release_installed] = !Facter::Core::Execution.which('lsb_release').nil?
end
post_resolve(fact_name, _options) click to toggle source
# File lib/facter/resolvers/lsb_release.rb, line 17
def post_resolve(fact_name, _options)
  @fact_list.fetch(fact_name) { retrieve_facts(fact_name) }
end
read_lsb_release_file() click to toggle source
# File lib/facter/resolvers/lsb_release.rb, line 31
def read_lsb_release_file
  output = Facter::Core::Execution.execute('lsb_release -a', logger: log)
  build_fact_list(output)
end
retrieve_facts(fact_name) click to toggle source
# File lib/facter/resolvers/lsb_release.rb, line 21
def retrieve_facts(fact_name)
  lsb_release_installed? if @fact_list[:lsb_release_installed].nil?
  read_lsb_release_file if @fact_list[:lsb_release_installed]
  @fact_list[fact_name]
end