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