zuora_api 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zuora_api/login.rb +15 -8
- data/lib/zuora_api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3519744d15acf7d302117624b6cddc11c9b1b029
|
4
|
+
data.tar.gz: 0636d89e841e13da8a2736ffd41f17f033527df6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f407d285e5e902c94723b152f60978656798826b208c003a37cab039063f96b7d9ade77c434807700ad603dd914a4c75fddf0206e5576ab59eb190a53a7c8614
|
7
|
+
data.tar.gz: 73582f5e5f6c3cc4701790b46302eefe8f430dbbbb133e5d06bb629e621191505253672debbd348095b1cea3d452978f8b5d41268c9f02cd77867af3a3ad2c66
|
data/lib/zuora_api/login.rb
CHANGED
@@ -5,7 +5,7 @@ module ZuoraAPI
|
|
5
5
|
class Login
|
6
6
|
ENVIRONMENTS = [SANDBOX = 'Sandbox', PRODUCTION = 'Production', PREFORMANCE = 'Preformance', SERVICES = 'Services', UNKNOWN = 'Unknown' ]
|
7
7
|
|
8
|
-
attr_accessor :username, :password, :url, :wsdl_number, :status, :current_session, :environment, :status, :errors, :current_error, :user_info, :tenant_id, :tenant_name, :entity_id
|
8
|
+
attr_accessor :username, :password, :url, :wsdl_number, :status, :current_session, :environment, :status, :errors, :current_error, :user_info, :tenant_id, :tenant_name, :entity_id
|
9
9
|
|
10
10
|
def initialize(username: nil, password: nil, url: nil, entity_id: nil, session: nil, **keyword_args)
|
11
11
|
@username = username
|
@@ -99,6 +99,7 @@ module ZuoraAPI
|
|
99
99
|
xml['api'].login do
|
100
100
|
xml['api'].username self.username
|
101
101
|
xml['api'].password self.password
|
102
|
+
xml['api'].entityId self.entity_id if !self.entity_id.blank?
|
102
103
|
end
|
103
104
|
end
|
104
105
|
end
|
@@ -239,7 +240,8 @@ module ZuoraAPI
|
|
239
240
|
self.get_session
|
240
241
|
base = self.url.include?(".com") ? self.url.split(".com")[0] : self.url.split(".eu")[0]
|
241
242
|
url = object ? "#{base}.com/apps/api/describe/#{object}" : "#{base}.com/apps/api/describe/"
|
242
|
-
|
243
|
+
headers = !self.entity_id.nil? ? {"entityId" => self.entity_id, 'Content-Type' => "text/xml; charset=utf-8"} : {'Content-Type' => "text/xml; charset=utf-8"}
|
244
|
+
response = HTTParty.get(url, :headers => headers , basic_auth: {:username => self.username, :password => self.password})
|
243
245
|
output_xml = Nokogiri::XML(response.body)
|
244
246
|
des_hash = Hash.new
|
245
247
|
if object == nil
|
@@ -267,6 +269,7 @@ module ZuoraAPI
|
|
267
269
|
|
268
270
|
def rest_call(method: :get, body: {},headers: {}, url: rest_endpoint("catalog/products?pageSize=4") , debug: true, **keyword_args)
|
269
271
|
tries ||= 2
|
272
|
+
headers["entityId"] = self.entity_id if !self.entity_id.nil?
|
270
273
|
raise "Method not supported, supported methods include: :get, :post, :put, :delete, :patch, :head, :options" if ![:get, :post, :put, :delete, :patch, :head, :options].include?(method)
|
271
274
|
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
|
272
275
|
Rails.logger.debug('Connect') { response.code} if debug
|
@@ -348,16 +351,16 @@ module ZuoraAPI
|
|
348
351
|
temp_file = Tempfile.new([filename.rpartition('.').first, ".zip"], "#{Rails.root}/tmp")
|
349
352
|
temp_file.binmode
|
350
353
|
|
351
|
-
size,
|
352
|
-
|
354
|
+
size, export_progress = [0, 0]
|
355
|
+
export_size = response.header["Content-Length"].to_i
|
353
356
|
response.read_body do |chunk|
|
354
357
|
temp_file << chunk.force_encoding("UTF-8")
|
355
358
|
size += chunk.size
|
356
|
-
new_progress = (size * 100) /
|
357
|
-
unless new_progress ==
|
359
|
+
new_progress = (size * 100) / export_size
|
360
|
+
unless new_progress == export_progress
|
358
361
|
Rails.logger.debug("Login: #{self.username} Export Downloading %s (%3d%%)" % [filename, new_progress])
|
359
362
|
end
|
360
|
-
|
363
|
+
export_progress = new_progress
|
361
364
|
end
|
362
365
|
|
363
366
|
temp_file.close
|
@@ -385,7 +388,7 @@ module ZuoraAPI
|
|
385
388
|
xml['ns1'].create do
|
386
389
|
xml['ns1'].zObjects('xsi:type' => "ns2:Export") do
|
387
390
|
xml['ns2'].Format 'csv'
|
388
|
-
xml['ns2'].Zip
|
391
|
+
xml['ns2'].Zip zip
|
389
392
|
xml['ns2'].Name 'googman'
|
390
393
|
xml['ns2'].Query query
|
391
394
|
xml['ns2'].Encrypted encrypted
|
@@ -429,6 +432,10 @@ module ZuoraAPI
|
|
429
432
|
location = extract_zip(zip_file.path, "#{file_id}")
|
430
433
|
File.delete(zip_file.path)
|
431
434
|
return location
|
435
|
+
elsif !zip
|
436
|
+
file = get_file(:file_name => "#{file_id}.gpg" ,:url => "#{self.fileURL}#{file_id}?file-id=#{file_id}", headers: {"Authorization" => "ZSession " + self.current_session})
|
437
|
+
puts file.path
|
438
|
+
return file.path
|
432
439
|
else
|
433
440
|
return zip_file.path
|
434
441
|
end
|
data/lib/zuora_api/version.rb
CHANGED
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: 1.0.
|
4
|
+
version: 1.0.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: 2017-
|
11
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|