class ZabbixAPI_Base
Public Class Methods
action(sym, &block)
click to toggle source
# File api_classes/api_dsl.rb, line 408 def self.action(sym, &block) add(sym,&block) end
actions(*sym)
click to toggle source
# File api_classes/api_dsl.rb, line 412 def self.actions(*sym) sym.each {|s| add(s)} end
add(sym,&block)
click to toggle source
# File api_classes/api_dsl.rb, line 439 def self.add(sym,&block) @api_methods={} if @api_methods.nil? @api_methods[sym]=ZabbixAPI_Method.new(self.to_s,sym.to_s) @api_methods[sym].instance_eval(&block) if !block.nil? #Create a method definition for the parameter in question. #params is not treated as an array, the splat operator #is there to allow for no parameters to be passed define_method(sym) do |*params| #The splat operator ensures we get an array, but we need #to test to ensure we receive one hash parameter if (params.length>1) raise ArgumentError.new("Hash or one argument expected for #{self.class}.#{sym.to_s}, received: #{params.inspect}") end self.class.api_methods[sym].do(@server,params.first||{}) end end
api_alias(from,to)
click to toggle source
Define an alias for an existing method. From: the new method name To: the existing method which the alias “from” will point to
# File api_classes/api_dsl.rb, line 428 def self.api_alias(from,to) @api_aliases={} if @api_aliases.nil? @api_aliases[from]=to @api_methods[from]=@api_methods[to] define_method(from) do |params| self.class.api_methods[from].do(@server,params) end end
api_aliases()
click to toggle source
# File api_classes/api_dsl.rb, line 420 def self.api_aliases @api_aliases={} if @api_aliases.nil? @api_aliases end
api_methods()
click to toggle source
# File api_classes/api_dsl.rb, line 416 def self.api_methods @api_methods end
method_missing(sym,&block)
click to toggle source
# File api_classes/api_dsl.rb, line 404 def self.method_missing(sym,&block) add(sym,&block) end
new(server)
click to toggle source
# File api_classes/api_dsl.rb, line 380 def initialize(server) @server=server end
Public Instance Methods
api_aliases()
click to toggle source
# File api_classes/api_dsl.rb, line 388 def api_aliases self.class.api_aliases end
api_methods()
click to toggle source
# File api_classes/api_dsl.rb, line 384 def api_methods self.class.api_methods.keys end
required_params(sym,ver=nil)
click to toggle source
# File api_classes/api_dsl.rb, line 398 def required_params(sym,ver=nil) api_method=self.class.api_methods[sym] return nil if api_method.nil? api_method.get_required_params(ver) end
valid_params(sym,ver=nil)
click to toggle source
# File api_classes/api_dsl.rb, line 392 def valid_params(sym,ver=nil) api_method=self.class.api_methods[sym] return nil if api_method.nil? api_method.get_valid_params(ver) end