Sha256: 4992c8d3bb1df47c8f7aa31fa6f6e3e2ff71dd1d9065cb7d5c1a588e6e8d9bf6
Contents?: true
Size: 1.2 KB
Versions: 7
Compression:
Stored size: 1.2 KB
Contents
# frozen_string_literal: true module Facter module Resolvers module Bsd class Processors < BaseResolver @log = Facter::Log.new(self) @fact_list ||= {} class << self private def post_resolve(fact_name) @fact_list.fetch(fact_name) { collect_processors_info(fact_name) } end def collect_processors_info(fact_name) require 'facter/resolvers/bsd/ffi/ffi_helper' @fact_list[:logical_count] = logical_count @fact_list[:models] = Array.new(logical_count, model) if logical_count && model @fact_list[:speed] = speed * 1000 * 1000 if speed @fact_list[fact_name] end CTL_HW = 6 HW_MODEL = 2 HW_NCPU = 3 HW_CPUSPEED = 12 def model @model ||= Facter::Bsd::FfiHelper.sysctl(:string, [CTL_HW, HW_MODEL]) end def logical_count @logical_count ||= Facter::Bsd::FfiHelper.sysctl(:uint32_t, [CTL_HW, HW_NCPU]) end def speed @speed ||= Facter::Bsd::FfiHelper.sysctl(:uint32_t, [CTL_HW, HW_CPUSPEED]) end end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems