class Cloudscopes::Memory

Public Class Methods

new() click to toggle source
# File lib/cloudscopes/memory.rb, line 3
def initialize
  @@data ||= (
    raw_meminfo = File.read('/proc/meminfo')
    names_and_values = raw_meminfo.split("\n").
        map {|line| line =~ /(\w+):\s+(\d+)/ and [$1, $2.to_i] }.compact
    Hash[names_and_values]
  )
end

Public Instance Methods

MemAvailable() click to toggle source
# File lib/cloudscopes/memory.rb, line 21
def MemAvailable
  return self.MemFree + self.Buffers + self.Cached
end
MemUsed() click to toggle source
# File lib/cloudscopes/memory.rb, line 25
def MemUsed
  return self.MemTotal - self.MemFree - self.Buffers - self.Cached
end
method_missing(method, *args) click to toggle source
Calls superclass method
# File lib/cloudscopes/memory.rb, line 12
def method_missing(method, *args)
  method_name = method.to_s
  if @@data.include?(method_name)
    @@data[method_name]
  else
    super
  end
end