class Facter::Resolvers::RedHatRelease
Private Class Methods
build_fact_list(output)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 30 def build_fact_list(output) @fact_list[:description] = output.strip output_strings = output.split('release') output_strings.map!(&:strip) @fact_list[:codename] = codename(output_strings) @fact_list[:distributor_id] = distributor_id(output_strings[0]) @fact_list[:name] = release_name(output_strings[0]) @fact_list[:version] = version(output_strings) @fact_list[:id] = id(@fact_list[:name]) end
codename(value)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 62 def codename(value) matched_data = value[1].match(/.*\((.*)\).*/) return if matched_data.nil? codename = matched_data[1] if value[0].match?(/Red Hat Enterprise Linux/i) codename = value[1].split.first if value[0].match?(/RED OS/i) codename end
distributor_id(value)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 71 def distributor_id(value) value.split.reject { |el| el.casecmp('linux').zero? }.join end
id(value)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 46 def id(value) id = value.downcase id = 'rhel' if @fact_list[:name].casecmp('Red Hat Enterprise Linux') id end
post_resolve(fact_name, _options)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 17 def post_resolve(fact_name, _options) @fact_list.fetch(fact_name) { read_redhat_release(fact_name) } end
read_redhat_release(fact_name)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 21 def read_redhat_release(fact_name) output = Facter::Util::FileHelper.safe_read('/etc/redhat-release', nil) return @fact_list[fact_name] = nil if output.nil? build_fact_list(output) @fact_list[fact_name] end
release_name(value)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 42 def release_name(value) value.split.reject { |el| el.casecmp('linux').zero? }[0..1].join end
version(value)
click to toggle source
# File lib/facter/resolvers/redhat_release.rb, line 53 def version(value) matched_data = value[1].match(/.*\((.*)\).*/) return if matched_data.nil? version = value[1].split.first if value[0].match?(/Red Hat Enterprise Linux/i) version = matched_data[1] if value[0].match?(/RED OS/i) version end