Module: ZabbixRubyClient::Plugins
- Extended by:
- Plugins
- Included in:
- Plugins
- Defined in:
- lib/zabbix-ruby-client/plugins.rb,
lib/zabbix-ruby-client/plugins/apt.rb,
lib/zabbix-ruby-client/plugins/cpu.rb,
lib/zabbix-ruby-client/plugins/who.rb,
lib/zabbix-ruby-client/plugins/disk.rb,
lib/zabbix-ruby-client/plugins/load.rb,
lib/zabbix-ruby-client/plugins/mysql.rb,
lib/zabbix-ruby-client/plugins/nginx.rb,
lib/zabbix-ruby-client/plugins/redis.rb,
lib/zabbix-ruby-client/plugins/apache.rb,
lib/zabbix-ruby-client/plugins/memory.rb,
lib/zabbix-ruby-client/plugins/network.rb,
lib/zabbix-ruby-client/plugins/sysinfo.rb
Defined Under Namespace
Modules: Apache, Apt, Cpu, Disk, Load, Memory, Mysql, Network, Nginx, Redis, Sysinfo, Who
Instance Method Summary
collapse
Instance Method Details
#load(plugin) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/zabbix-ruby-client/plugins.rb', line 25
def load(plugin)
if @loaded[plugin]
true
else
if @available[plugin]
ZabbixRubyClient.send :load, @available[plugin]
else
nil
end
end
end
|
#load_dirs(dirs) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/zabbix-ruby-client/plugins.rb', line 5
def load_dirs(dirs)
@available = {}
@loaded = {}
dirs.each do |d|
Dir.glob(File.join(d,"*.rb")).reduce(@available) { |a,x|
name = File.basename(x,".rb")
a[name] = x
a
}
end
end
|
#loaded ⇒ Object
21
22
23
|
# File 'lib/zabbix-ruby-client/plugins.rb', line 21
def loaded
@loaded ||= {}
end
|
#register(plugin, klass) ⇒ Object
17
18
19
|
# File 'lib/zabbix-ruby-client/plugins.rb', line 17
def register(plugin, klass)
@loaded[plugin] = klass
end
|