lib/gotransverse-tract-api.rb in gotransverse-tract-api-0.0.13 vs lib/gotransverse-tract-api.rb in gotransverse-tract-api-0.0.14

- old
+ new

@@ -121,25 +121,29 @@ # # self.post_request_for # # @param {Class} klass # @param {Hash} api_params (optional) + # @param {String} request_body + # @param {String} command # - def self.post_request_for(klass, api_params={}) + def self.post_request_for(klass, api_params={}, request_body, command) api_url = GoTransverseTractApi.get_api_url_for(klass) - self.call(api_url, api_params, :post) + api_url = "#{api_url}/#{command}" + self.call(api_url, api_params, :post, request_body) end # # self.put_request_for # # @param {Class} klass # @param {Hash} api_params (optional) + # @param {String} request_body # - def self.put_request_for(klass, api_params={}) + def self.put_request_for(klass, api_params={}, request_body) api_url = GoTransverseTractApi.get_api_url_for(klass) - self.call(api_url, api_params, :put) + self.call(api_url, api_params, :put, request_body) end private # @@ -169,26 +173,25 @@ # self.call # # @param {String} api_url # @param {Hash} api_params (optional) # @param {String} method (optional) + # @param {String} request_body (optional, put/post requests only) # - def self.call(api_url, api_params={}, method=:get) + def self.call(api_url, api_params={}, method=:get, request_body="") headers = self.get_authentication_headers # TODO: Camelize all keys in api_params Hash. - api_uri = URI.parse(api_url) - http_client = HTTPClient.new case method when :get - response = http_client.get(api_uri, api_params, headers) + response = http_client.get(api_url, api_params, headers) when :post - response = http_client.post(api_uri, api_params, headers) + response = http_client.post(api_url, request_body, api_params, headers) when :put - response = http_client.put(api_uri, api_params, headers) + response = http_client.put(api_url, request_body, api_params, headers) end Nokogiri::XML(response.body.to_s) end