Class: Arbi::Modules::Net
Instance Attribute Summary
Attributes inherited from Module
#data
Instance Method Summary
collapse
Methods inherited from Module
__method_missing__, #every, inherited, json_create, method_missing, modules, name, #to_json
Constructor Details
#initialize(data = []) ⇒ Net
Returns a new instance of Net.
45
46
47
48
49
50
51
52
53
|
# File 'lib/arbi/modules/net.rb', line 45
def initialize(data = [])
super(data)
@mutex = Mutex.new
@prev = {:up => {}, :down => {}}
@datas = []
every 1, :timeout => 10, &self.method(:update)
end
|
Instance Method Details
66
67
68
69
70
71
72
|
# File 'lib/arbi/modules/net.rb', line 66
def format
tablize([['IFACE', 'UP', 'DOWN', 'STATE', 'QUALITY', 'ESSID']] + @data.map {|x|
[x[:name] || x['name'], x[:up] || x['up'], x[:down] || x['down'],
((x[:state] || x['state']) ? 'on' : 'off'), x[:quality] || x['quality'],
x[:essid] || x['essid']]
})
end
|
#refresh ⇒ Object
60
61
62
63
64
|
# File 'lib/arbi/modules/net.rb', line 60
def refresh
@mutex.synchronize {
@data = @datas.dup
}
end
|
#valid? ⇒ Boolean
55
56
57
58
|
# File 'lib/arbi/modules/net.rb', line 55
def valid?
File.exist?('/proc/net/dev') and File.exist?('/proc/net/route') and
File.exist?('/proc/net/wireless')
end
|