Server IP : 172.67.158.161 / Your IP : 18.116.24.97 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/util/macosx/ |
Upload File : |
# frozen_string_literal: true module Facter module Util module Macosx class SystemProfileExecutor @log = Log.new(self) class << self def execute(category_name) @log.debug "Executing command: system_profiler #{category_name}" output = Facter::Core::Execution.execute( "system_profiler #{category_name}", logger: @log )&.force_encoding('UTF-8') return unless output system_profiler_hash = output_to_hash(output) normalize_keys(system_profiler_hash) end private def output_to_hash(output) output.scan(/.*: .*$/).map { |e| e.strip.match(/(.*?): (.*)/).captures }.to_h end def normalize_keys(system_profiler_hash) system_profiler_hash.transform_keys do |k| k.downcase.tr(' ', '_').delete("\(\)").to_sym end.to_h end end end end end end