class SYNOWebAPI::API

Attributes

api_name[R]
max_version[R]
methods[R]
min_version[R]
path[R]
request_format[R]

Public Class Methods

new(api_name, client, params) click to toggle source
# File lib/synowebapi/api.rb, line 9
def initialize(api_name, client, params)
  @api_name = api_name
  @client = client
  @path = params['path']
  @min_version = params['minVersion']
  @max_version = params['maxVersion']
  @request_format = params['requestFormat']
end

Public Instance Methods

method_missing(method_name, **args, &block) click to toggle source
# File lib/synowebapi/api.rb, line 28
def method_missing(method_name, **args, &block)
  request({:method => method_name}.merge(args))
end
request(params) click to toggle source
# File lib/synowebapi/api.rb, line 18
def request(params)
  resp = @client.send(self, params)

  if resp['success']
    resp['data']
  else
    error_handling(resp['error'])
  end
end