class Facter::Resolvers::Freebsd::Processors

Private Class Methods

collect_processors_info(fact_name) click to toggle source
# File lib/facter/resolvers/freebsd/processors.rb, line 17
def collect_processors_info(fact_name)
  require 'facter/resolvers/freebsd/ffi/ffi_helper'

  count = logical_count
  model = processors_model
  speed = processors_speed

  @fact_list[:logical_count] = count
  @fact_list[:models] = Array.new(count, model) if logical_count && model
  @fact_list[:speed] = speed * 1000 * 1000 if speed

  @fact_list[fact_name]
end
logical_count() click to toggle source
# File lib/facter/resolvers/freebsd/processors.rb, line 35
def logical_count
  Facter::Freebsd::FfiHelper.sysctl_by_name(:uint32_t, 'hw.ncpu')
end
post_resolve(fact_name) click to toggle source
# File lib/facter/resolvers/freebsd/processors.rb, line 13
def post_resolve(fact_name)
  @fact_list.fetch(fact_name) { collect_processors_info(fact_name) }
end
processors_model() click to toggle source
# File lib/facter/resolvers/freebsd/processors.rb, line 31
def processors_model
  Facter::Freebsd::FfiHelper.sysctl_by_name(:string, 'hw.model')
end
processors_speed() click to toggle source
# File lib/facter/resolvers/freebsd/processors.rb, line 39
def processors_speed
  Facter::Freebsd::FfiHelper.sysctl_by_name(:uint32_t, 'hw.clockrate')
end