Class: CPUInfo::CPUS

Inherits:
Object
  • Object
show all
Defined in:
lib/cpuinfo.rb

Defined Under Namespace

Classes: CPU

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](*parameters) ⇒ Object



9
10
11
# File 'lib/cpuinfo.rb', line 9

def self.[](*parameters)
    (self.cpus).public_send(:[], *parameters)
end

.cpusObject



5
6
7
# File 'lib/cpuinfo.rb', line 5

def self.cpus
    @@cpus ||= self.parse_cpuinfo
end

.method_missing(sym, *parameters) ⇒ Object



17
18
19
# File 'lib/cpuinfo.rb', line 17

def self.method_missing(sym, *parameters)
    self.cpus.public_send(sym, *parameters) if self.cpus.respond_to? sym
end

.parse_cpuinfoObject



71
72
73
# File 'lib/cpuinfo.rb', line 71

def self.parse_cpuinfo
    self.read_cpuinfo.split(/^processor:\w+\d+:\w+\n/).map {|cpu| CPU.new(cpu) }
end

.read_cpuinfoObject



67
68
69
# File 'lib/cpuinfo.rb', line 67

def self.read_cpuinfo
    # IO.read("/proc/cpuinfo")
end

Instance Method Details

#to_sObject



13
14
15
# File 'lib/cpuinfo.rb', line 13

def to_s
    self.cpus.map(&:to_s).join("\n\n")
end