class ApiResult

Attributes

fields[RW]
method_called[RW]
params[RW]

Public Class Methods

new(values={}) click to toggle source
Calls superclass method
# File zbxapi/result.rb, line 40
def initialize(values={})
  raise InvalidResult.new if values["result"].nil?

  @params=values[:params]
  values.delete(:params) if values.key?(:params)
  @method_called=values[:method]
  values.delete(:method) if values.key?(:method)

  @id=values["id"]
  if values["result"].class!=Array
    super([values["result"]])
  else
    super(values["result"])
  end
  @fields=self.first.keys.map{|i| i.intern }
end

Public Instance Methods

[](*args) click to toggle source
Calls superclass method
# File zbxapi/result.rb, line 67
def [](*args)
  index=args[0]
  return self if index=="result"
  return self.first[index] if index.is_a?(String)
  super(*args)
end
method_missing(sym,*args) click to toggle source
Calls superclass method
# File zbxapi/result.rb, line 57
def method_missing(sym,*args)
  if @fields.index(sym)
     p @fields
     map {|i| i[sym.to_s]}
  else
    super(sym,*args)
  end
end