Class: Cloudscopes::Memory

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

Instance Method Summary collapse

Constructor Details

#initializeMemory



3
4
5
6
7
8
9
10
# 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

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



12
13
14
15
16
17
18
19
# 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

Instance Method Details

#MemAvailableObject



21
22
23
# File 'lib/cloudscopes/memory.rb', line 21

def MemAvailable
  return self.MemFree + self.Buffers + self.Cached
end

#MemUsedObject



25
26
27
# File 'lib/cloudscopes/memory.rb', line 25

def MemUsed
  return self.MemTotal - self.MemFree - self.Buffers - self.Cached
end