module Sys::CPU
Public Class Methods
processors() { |cpu| ... }
click to toggle source
# File lib/rails_pwnerer/base/cpus.rb 6 def self.processors 7 cpuinfo_text = File.read '/proc/cpuinfo' 8 cpus_text = cpuinfo_text.split "\n\n" 9 cpus = [] 10 cpus_text.each do |cpu_text| 11 cpu = {} 12 cpu_text.each_line do |cpu_line| 13 key, value = *cpu_line.split(':', 2) 14 key.strip! 15 key.gsub! /\s/, '_' 16 key.downcase! 17 value.strip! 18 cpu[key.to_sym] = value 19 end 20 cpus << Struct.new(*cpu.keys).new(*cpu.values) 21 end 22 23 cpus.each { |cpu| yield cpu } if Kernel.block_given? 24 return cpus 25 end