Class: Cloudscopes::Memory
- Inherits:
-
Object
- Object
- Cloudscopes::Memory
show all
- Defined in:
- lib/cloudscopes/memory.rb
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ Memory
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
#MemAvailable ⇒ Object
21
22
23
|
# File 'lib/cloudscopes/memory.rb', line 21
def MemAvailable
return self.MemFree + self.Buffers + self.Cached
end
|
#MemUsed ⇒ Object
25
26
27
|
# File 'lib/cloudscopes/memory.rb', line 25
def MemUsed
return self.MemTotal - self.MemFree - self.Buffers - self.Cached
end
|