class GeektoolKit::CpuRecord
Constants
- CRITICAL_RANGE
- ELEVATED_RANGE
- NORMAL_RANGE
- WARNING_RANGE
Attributes
name[RW]
percent[RW]
Public Class Methods
get_data()
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 59 def self.get_data %x{ps -arcwwwxo "command %cpu"} end
get_records()
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 63 def self.get_records data = self.get_data.encode("UTF-8", "binary", :invalid => :replace, :undef => :replace, :replace => "#").split("\n") records = [] data.each do |d| matches = /(?<name>.*)\s+(?<percent>\d{1,}\.\d+)/.match(d) records << CpuRecord.new(matches) unless matches.nil? end return records end
new(line)
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 15 def initialize line self.name = line[:name].strip self.percent = line[:percent].to_f end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 43 def <=> other return other.percent <=> self.percent end
color()
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 29 def color case percent.to_i when NORMAL_RANGE then Colors.DEFAULT when ELEVATED_RANGE then Colors.CYAN when WARNING_RANGE then Colors.YELLOW when CRITICAL_RANGE then Colors.RED else Colors.RED end end
colorize_line(line)
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 55 def colorize_line line "#{color}#{line}#{Colors.RESET}" end
create_display_text(max_width = 30)
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 51 def create_display_text max_width = 30 create_line(name, create_percent_display_text, max_width) end
create_percent_display_text(precision = 1)
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 47 def create_percent_display_text precision = 1 "#{"%.#{precision}f" % percent}%" end
is_consequential?()
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 25 def is_consequential? !percent.nil? && percent.to_i > 1 end
is_valid?()
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 21 def is_valid? !self.name.nil? && !self.percent.nil? end
print()
click to toggle source
# File lib/geektool_kit/cpu_record.rb, line 39 def print puts colorize_line(create_display_text) end