Sha256: 18fb9adf74ee7b38dc2faa83d206c0acfc378b80ab1da053af58392b31177d79

Contents?: true

Size: 1.36 KB

Versions: 4

Compression:

Stored size: 1.36 KB

Contents

require "zabbixapi/version"
require "zabbixapi/client"
require "zabbixapi/server"
require "zabbixapi/applications"
require "zabbixapi/templates"
require "zabbixapi/hostgroups"
require "zabbixapi/users"
require "zabbixapi/hosts"
require "zabbixapi/triggers"
require "zabbixapi/items"
require "zabbixapi/graphs"
require "zabbixapi/screens"
require "zabbixapi/usergroups"
require "zabbixapi/mediatypes"

class ZabbixApi

  attr :client
  attr :server
  attr :users
  attr :items
  attr :applications
  attr :templates
  attr :hostgroups
  attr :hosts
  attr :triggers
  attr :graphs
  attr :screens
  attr :usergroups
  attr :mediatypes

  def self.connect(options = {})
    new(options)
  end

  def self.current
    @current ||= ZabbixApi.new
  end

  def query(data)
    @client.api_request(:method => data[:method], :params => data[:params])
  end

  def initialize(options = {})
    
    @client = Client.new(options)

    @server = Server.new(@client)
    @users   = Users.new(@client)
    @items   = Items.new(@client)
    @hosts   = Hosts.new(@client)
    @applications = Applications.new(@client)
    @templates    = Templates.new(@client)
    @hostgroups   = HostGroups.new(@client)
    @triggers = Triggers.new(@client)
    @graphs = Graphs.new(@client)
    @screens = Screens.new(@client)
    @usergroups = Usergroups.new(@client)
    @mediatypes = Mediatypes.new(@client)
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
zabbixapi-0.5.0 lib/zabbixapi.rb
zabbixapi-0.5.0b6 lib/zabbixapi.rb
zabbixapi-0.5.0b5 lib/zabbixapi.rb
zabbixapi-0.5.0b4 lib/zabbixapi.rb