Method: Iknow::RestClient::Base.method_missing

Defined in:
lib/iknow/rest_client/base.rb

.method_missing(action, *args) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/iknow/rest_client/base.rb', line 22

def self.method_missing(action, *args)
  # GET methods are handled here
  # POST and DELETE methods should be implemented in each class
  super unless self.valid_action?(action)
  case self.http_method(action)
  when :get
    path, params = path_with_params(self.path(action), args[0])
    http_get(path, params)
  when :post
    path, params = path_with_params(self.path(action), args[1])
    http_post(iknow_auth(args[0]), path, params)
  when :delete
    path, params = path_with_params(self.path(action), args[1])
    http_delete(iknow_auth(args[0]), path, params)
  end
end