zuora_api 0.2.6.2 → 0.2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 36c8ca80ce14ca436fbf804a6c1628806f2a00b6
4
- data.tar.gz: b18c6e02c831dec29a1e476a466e45dc75d8ab89
3
+ metadata.gz: b951408f08d47564162bc87dfdce7f2d7cabc6db
4
+ data.tar.gz: 0d049bf21fdbc43a867b882250b6f3efe5d8abc6
5
5
  SHA512:
6
- metadata.gz: b73fdff22718fe4b2702bfc738fa1fe1026b8b4279a38393cddea1fdc4b6aeb75aff81edaf41b81524a33a5de609c1429e658dabe634d60a811dd0a816dd982f
7
- data.tar.gz: bce00f21ec763e99eeede2681a5b052b077ade6786f40be69f9688c8d9120df778f7979ad0552af8fe32d05ea777715ec3f15fed8222f7ddeac4e1aec1b58bd1
6
+ metadata.gz: 5a1b2c9d318bf82f4fc7609d0fbeaf3232c6873b8c877cbcad068e97bfba96d8b50ed8c0da0c81e270af39b318e848da6e358c84809c743813a749ad15cb4fd4
7
+ data.tar.gz: 2d2e576bf7ce6c43bb71bb51316aa0230bd994a8f76348548025027dd6416707de077646c3e231748002fa6c91590e062e6d23237235d13e62791e10a2a82d13
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zuora_api (0.2.6.2)
4
+ zuora_api (0.2.6.3)
5
5
  httparty
6
6
  nokogiri (~> 1.6.8)
7
7
  railties (>= 4.1.0, < 5.1)
@@ -254,7 +254,7 @@ module ZuoraAPI
254
254
  return des_hash
255
255
  end
256
256
 
257
- def rest_call(method: :get, body: {},headers: {}, url: rest_endpoint("catalog/products?pageSize=4") , **keyword_args)
257
+ def rest_call(method: :get, body: {},headers: {}, url: rest_endpoint("catalog/products?pageSize=4") , debug:true, **keyword_args)
258
258
  tries ||= 2
259
259
  raise "Method not supported, supported methods include: :get, :post, :put, :delete, :patch, :head, :options" if ![:get, :post, :put, :delete, :patch, :head, :options].include?(method)
260
260
  response = HTTParty::Request.new("Net::HTTP::#{method.to_s.capitalize}".constantize, url, body: body, headers: {'Content-Type' => "application/json; charset=utf-8", "Authorization" => "ZSession #{self.get_session}"}.merge(headers)).perform
@@ -264,17 +264,21 @@ module ZuoraAPI
264
264
  Rails.logger.debug('Connect') {"Response JSON: #{output_json}"}
265
265
  raise "#{output_json["reasons"][0]["code"]}::#{output_json["reasons"][0]["message"]}" if !output_json["success"] || response.code != 200
266
266
  rescue => ex
267
- if !(tries -= 1).zero?
268
- case ex.to_s.split("::")[0]
269
- when "90000011"
270
- Rails.logger.debug {"Session Invalid"}
271
- self.new_session
272
- retry
267
+ if debug
268
+ if !(tries -= 1).zero
269
+ case ex.to_s.split("::")[0]
270
+ when "90000011"
271
+ Rails.logger.debug {"Session Invalid"}
272
+ self.new_session
273
+ retry
274
+ else
275
+ raise ex
276
+ end
273
277
  else
274
278
  raise ex
275
279
  end
276
280
  else
277
- raise ex
281
+ return output_json
278
282
  end
279
283
  else
280
284
  return output_json
@@ -294,6 +298,39 @@ module ZuoraAPI
294
298
  return self
295
299
  end
296
300
 
301
+ def get_file(file_name: 'example.csv', url: nil, basic: {:username => nil, :password => nil}, headers: {})
302
+ tries ||= 2
303
+ temp_file = nil
304
+
305
+ uri = URI(url)
306
+ Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
307
+ request = Net::HTTP::Get.new(uri)
308
+ headers.each do |k,v|
309
+ request["#{k}"] = v
310
+ end
311
+ request.basic_auth(basic[:username], basic[:password]) if (!basic[:username].blank? && !basic[:password].blank?)
312
+ http.request request do |response|
313
+ Tempfile.open([file_name.rpartition('.').first, ".#{file_name.rpartition('.').last}"], "#{Rails.root}/tmp") do |tmp_file|
314
+ temp_file ||= tmp_file
315
+ tmp_file.binmode if (response.to_hash["content-type"].include?("application/zip") || response.to_hash["content-type"] == "application/zip")
316
+ response.read_body do |chunk|
317
+ tmp_file.write chunk
318
+ end
319
+ end if response.is_a?(Net::HTTPSuccess)
320
+ end
321
+ end
322
+
323
+ rescue => ex
324
+ if !(tries -= 1).zero?
325
+ sleep 3
326
+ retry
327
+ else
328
+ raise ex
329
+ end
330
+ else
331
+ return temp_file
332
+ end
333
+
297
334
  def getDataSourceExport(query)
298
335
  Rails.logger.info('Export') {"Build export"}
299
336
  Rails.logger.info('Export query') {"#{query}"}
@@ -345,6 +382,9 @@ module ZuoraAPI
345
382
  return 'Export Creation Unsuccessful : ' + output_xml.xpath('//ns1:Message', 'ns1' =>'http://api.zuora.com/').text if result == "Failed"
346
383
  end
347
384
  file_id = output_xml.xpath('//ns2:FileId', 'ns2' =>'http://object.api.zuora.com/').text
385
+ Rails.logger.info('Export') {'=====> Export finished'}
386
+ #return get_file(:file_name => "data_export#{Time.now}.csv" ,:url => "#{self.fileURL}#{file_id}?file-id=#{file_id}", headers: {"Authorization" => "ZSession " + self.current_session})
387
+
348
388
  response_query = HTTParty.get(self.fileURL + file_id, body: request.to_xml, headers: {"Authorization" => "ZSession " + self.current_session}, query: {"file-id" => file_id})
349
389
  Rails.logger.info('Export') {'=====> Export finished'}
350
390
  list = Array.new
@@ -1,3 +1,3 @@
1
1
  module ZuoraAPI
2
- VERSION = "0.2.6.2"
2
+ VERSION = "0.2.6.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6.2
4
+ version: 0.2.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zuora Strategic Solutions Group
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-20 00:00:00.000000000 Z
11
+ date: 2016-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler