Sha256: 8a281c429ec7a696bc2f673e6e52d577597038f045096f3f657c35bb6ef30793
Contents?: true
Size: 1.84 KB
Versions: 8
Compression:
Stored size: 1.84 KB
Contents
# # Author:: Benjamin Black (<bb@chef.io>) # Copyright:: Copyright (c) 2009-2016 Chef Software, Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Ohai.plugin(:SystemProfile) do provides "system_profile" collect_data(:darwin) do require "plist" system_profile Array.new items = Array.new detail_level = { "mini" => %w{ SPParallelATAData SPAudioData SPBluetoothData SPCardReaderData SPDiagnosticsData SPDiscBurningData SPEthernetData SPFibreChannelData SPFireWireData SPDisplaysData SPHardwareRAIDData SPMemoryData SPModemData SPNetworkData SPPCIData SPParallelSCSIData SPPrintersSoftwareData SPPrintersData SPSASData SPSerialATAData SPSoftwareData SPThunderboltData SPUSBData SPWWANData SPAirPortData}, "full" => [ "SPHardwareDataType", ], } detail_level.each do |level, data_types| so = shell_out("system_profiler -xml -detailLevel #{level} #{data_types.join(' ')}") Plist.parse_xml(so.stdout).each do |e| # delete some bogus timing data and then keep the rest e.delete("_SPCompletionInterval") e.delete("_SPResponseTime") e.delete("_SPCommandLineArguments") items << e end end system_profile ( items.sort_by { |h| h["_dataType"] } ) # rubocop: disable Lint/ParenthesesAsGroupedExpression end end
Version data entries
8 entries across 8 versions & 1 rubygems