class Facter::Resolvers::Macosx::Processors
Constants
- ITEMS
Private Class Methods
build_cores_per_socket(count)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 62 def build_cores_per_socket(count) @fact_list[:cores_per_socket] = count.split(': ')[1].to_i end
build_fact_list(processors_data)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 36 def build_fact_list(processors_data) build_logical_count(processors_data[0]) build_physical_count(processors_data[1]) build_models(processors_data[2]) build_speed(processors_data[3]) build_cores_per_socket(processors_data[4]) build_threads_per_core(processors_data[5], processors_data[4]) end
build_logical_count(count)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 45 def build_logical_count(count) @fact_list[:logicalcount] = count.split(': ')[1].to_i end
build_models(model)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 53 def build_models(model) brand = model.split(': ').fetch(1) @fact_list[:models] = Array.new(@fact_list[:logicalcount].to_i, brand) end
build_physical_count(count)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 49 def build_physical_count(count) @fact_list[:physicalcount] = count.split(': ')[1].to_i end
build_speed(value)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 58 def build_speed(value) @fact_list[:speed] = value.split(': ')[1].to_i end
build_threads_per_core(number_of_threads, number_of_cores)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 66 def build_threads_per_core(number_of_threads, number_of_cores) @fact_list[:threads_per_core] = number_of_threads.split(': ')[1].to_i / number_of_cores.split(': ')[1].to_i end
post_resolve(fact_name, _options)
click to toggle source
:logicalcount :models :physicalcount :speed :cores_per_socket :threads_per_core
# File lib/facter/resolvers/macosx/processor.rb, line 26 def post_resolve(fact_name, _options) @fact_list.fetch(fact_name) { read_processor_data(fact_name) } end
read_processor_data(fact_name)
click to toggle source
# File lib/facter/resolvers/macosx/processor.rb, line 30 def read_processor_data(fact_name) output = Facter::Core::Execution.execute("sysctl #{ITEMS.values.join(' ')}", logger: log) build_fact_list(output.split("\n")) @fact_list[fact_name] end