# frozen_string_literal: true
module Facter
module Resolvers
class SwVers < BaseResolver
# :productname
# :productversion
# :buildversion
init_resolver
class << self
private
def post_resolve(fact_name, _options)
@fact_list.fetch(fact_name) { software_version_system_call(fact_name) }
end
def software_version_system_call(fact_name)
output = Facter::Core::Execution.execute('sw_vers', logger: log)
release_info = output.delete("\t").split("\n").map { |e| e.split(':') }
result = Hash[*release_info.flatten]
result.each { |k, v| @fact_list[k.downcase.to_sym] = v }
@fact_list[fact_name]
end
end
end
end
end
Copyright 2K16 - 2K18 Indonesian Hacker Rulez