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

#loadedObject



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