Class: Arbi::Modules::Diskstat

Inherits:
Module
  • Object
show all
Defined in:
lib/arbi/modules/diskstat.rb

Instance Attribute Summary

Attributes inherited from Module

#data

Instance Method Summary collapse

Methods inherited from Module

__method_missing__, #every, inherited, #initialize, json_create, method_missing, modules, name, #to_json

Constructor Details

This class inherits a constructor from Arbi::Modules::Module

Instance Method Details

#formatObject



51
52
53
54
55
56
# File 'lib/arbi/modules/diskstat.rb', line 51

def format
  tablize([['DEVICE', 'POINT', 'USE', 'SPACE']] + @data.map {|dev|
    [dev[:device] || dev['device'], dev[:point] || dev['point'], dev[:usage] || dev['usage'],
      dev[:space] || dev['space']]
  })
end

#refreshObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/arbi/modules/diskstat.rb', line 35

def refresh
  @data = []
  self.devices.each {|device|
    begin
      diskstat = Sys::Filesystem.stat(device[:point])
      device.merge!({
        usage: "#{100 - (100.0 / diskstat.blocks  * diskstat.blocks_available).round}%",
        space:  self.unitize(diskstat.blocks * diskstat.block_size)
      })

      @data << device
    rescue
    end
  }
end

#valid?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/arbi/modules/diskstat.rb', line 31

def valid?
  true
end