class Facter::Resolvers::OsRelease
Private Class Methods
fill_fact_list(pairs)
click to toggle source
# File lib/facter/resolvers/os_release_resolver.rb, line 43 def fill_fact_list(pairs) result = Hash[*pairs.flatten] result.each { |k, v| @fact_list[k.downcase.to_sym] = v } @fact_list[:identifier] = @fact_list[:id] end
normalize_opensuse_identifier()
click to toggle source
# File lib/facter/resolvers/os_release_resolver.rb, line 64 def normalize_opensuse_identifier @fact_list[:identifier] = 'opensuse' if @fact_list[:identifier] =~ /opensuse/i end
pad_version_id()
click to toggle source
# File lib/facter/resolvers/os_release_resolver.rb, line 50 def pad_version_id @fact_list[:version_id] = "#{@fact_list[:version_id]}.0" unless @fact_list[:version_id] =~ /\./ end
post_resolve(fact_name)
click to toggle source
# File lib/facter/resolvers/os_release_resolver.rb, line 21 def post_resolve(fact_name) @fact_list.fetch(fact_name) { read_os_release_file(fact_name) } end
process_name()
click to toggle source
# File lib/facter/resolvers/os_release_resolver.rb, line 54 def process_name return unless @fact_list[:name] @fact_list[:name] = if @fact_list[:name].downcase.start_with?('red', 'oracle') @fact_list[:name].split(' ')[0..1].join else @fact_list[:name].split(' ')[0].strip end end
read_os_release_file(fact_name)
click to toggle source
# File lib/facter/resolvers/os_release_resolver.rb, line 25 def read_os_release_file(fact_name) output = Util::FileHelper.safe_readlines('/etc/os-release') return @fact_list[:name] = nil if output.empty? pairs = [] output.each do |line| pairs << line.strip.delete('"').split('=', 2) end fill_fact_list(pairs) process_name pad_version_id normalize_opensuse_identifier @fact_list[fact_name] end