gotransverse-tract-api 0.6.7 → 0.7.0
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 +4 -4
- data/lib/gotransverse-tract-api.rb +3 -2
- data/lib/gotransverse-tract-api/api_data.rb +30 -16
- data/lib/gotransverse-tract-api/billing_account/billing_account.rb +17 -0
- data/lib/gotransverse-tract-api/version.rb +1 -1
- data/spec/gotransverse-tract-api/billing_account/billing_account_spec.rb +14 -2
- 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: 9a10cb2e5d1d257a44a6ad91b9a7bf7c92138b82
|
4
|
+
data.tar.gz: a8cfcda85e4cbc4eb9dce8ab1505e74c2608b4a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89b562638e192cd8ba89e5452e6eef00c161a3b3436b5eadfd16bfd1f6263c87a274035dd03c57c87c22a11c46f898823f0cd64205f5bd868c04f45af2998b7a
|
7
|
+
data.tar.gz: 0c861f5b9ab8f761565f6d20f605b71d2de6a3c6174433f52150be3769644cba5556c855934fed8f12bc87cb0d87b3dff282f9cfacaf7b2eafda458e5b0b29e5
|
@@ -178,7 +178,8 @@ module GoTransverseTractApi
|
|
178
178
|
#
|
179
179
|
def self.put_request_for(klass, api_params={}, request_body)
|
180
180
|
api_url = GoTransverseTractApi.get_api_url_for(klass)
|
181
|
-
|
181
|
+
api_url = api_url + "/#{api_params[:eid]}"
|
182
|
+
self.call(klass, api_url, api_params, :put, request_body)
|
182
183
|
end
|
183
184
|
|
184
185
|
#
|
@@ -268,7 +269,7 @@ module GoTransverseTractApi
|
|
268
269
|
when :post
|
269
270
|
response = http_client.post(api_url, request_body, {'Content-Type' => 'application/xml', 'Accept' => 'application/xml'})
|
270
271
|
when :put
|
271
|
-
response = http_client.put(api_url, request_body,
|
272
|
+
response = http_client.put(api_url, request_body, {'Content-Type' => 'application/xml', 'Accept' => 'application/xml'})
|
272
273
|
when :delete
|
273
274
|
response = http_client.delete(api_url, request_body, {'Content-Type' => 'application/xml', 'Accept' => 'application/xml'})
|
274
275
|
end
|
@@ -229,22 +229,36 @@ module GoTransverseTractApi
|
|
229
229
|
|
230
230
|
def get_addresses(entity)
|
231
231
|
addresses = {
|
232
|
-
attributes: {}
|
233
|
-
emailAddress: {
|
234
|
-
purpose: entity[:addresses][:email_address][:purpose],
|
235
|
-
email: entity[:addresses][:email_address][:email],
|
236
|
-
}.delete_if{|k,v| v.nil?},
|
237
|
-
postalAddress: {
|
238
|
-
purpose: entity[:addresses][:postal_address][:purpose],
|
239
|
-
country: entity[:addresses][:postal_address][:country],
|
240
|
-
city: entity[:addresses][:postal_address][:city],
|
241
|
-
regionOrState: entity[:addresses][:postal_address][:region_or_state],
|
242
|
-
attention: entity[:addresses][:postal_address][:attention],
|
243
|
-
postalCode: entity[:addresses][:postal_address][:postal_code],
|
244
|
-
line1: entity[:addresses][:postal_address][:line1],
|
245
|
-
}.delete_if{|k,v| v.nil?}
|
232
|
+
attributes: {}
|
246
233
|
}
|
247
234
|
|
235
|
+
if entity[:addresses].has_key?(:email_address)
|
236
|
+
email_address = {
|
237
|
+
emailAddress: {
|
238
|
+
purpose: entity[:addresses][:email_address][:purpose],
|
239
|
+
email: entity[:addresses][:email_address][:email],
|
240
|
+
}.delete_if{|k,v| v.nil?}
|
241
|
+
}.delete_if{|k,v| v.nil?}
|
242
|
+
|
243
|
+
addresses.merge! email_address if email_address.present?
|
244
|
+
end
|
245
|
+
|
246
|
+
if entity[:addresses].has_key?(:postal_address)
|
247
|
+
postal_address = {
|
248
|
+
postalAddress: {
|
249
|
+
purpose: entity[:addresses][:postal_address][:purpose],
|
250
|
+
country: entity[:addresses][:postal_address][:country],
|
251
|
+
city: entity[:addresses][:postal_address][:city],
|
252
|
+
regionOrState: entity[:addresses][:postal_address][:region_or_state],
|
253
|
+
attention: entity[:addresses][:postal_address][:attention],
|
254
|
+
postalCode: entity[:addresses][:postal_address][:postal_code],
|
255
|
+
line1: entity[:addresses][:postal_address][:line1],
|
256
|
+
}.delete_if{|k,v| v.nil?}
|
257
|
+
}.delete_if{|k,v| v.nil?}
|
258
|
+
|
259
|
+
addresses.merge! postal_address if postal_address.present?
|
260
|
+
end
|
261
|
+
|
248
262
|
if entity[:addresses].has_key?(:telecom_address)
|
249
263
|
tele_address = {
|
250
264
|
telecomAddress: {
|
@@ -256,9 +270,9 @@ module GoTransverseTractApi
|
|
256
270
|
purpose: entity[:addresses].try(:[],:telecom_address).try(:[],:purpose),
|
257
271
|
eid: entity[:addresses].try(:[],:telecom_address).try(:[],:eid)
|
258
272
|
}.delete_if{|k,v| v.nil?}
|
259
|
-
}
|
273
|
+
}.delete_if{|k,v| v.nil?}
|
260
274
|
|
261
|
-
addresses.merge! tele_address
|
275
|
+
addresses.merge! tele_address if tele_address.present?
|
262
276
|
end
|
263
277
|
|
264
278
|
addresses
|
@@ -377,6 +377,23 @@ module GoTransverseTractApi
|
|
377
377
|
GoTransverseTractApi.put_request_for(self, {eid: eid}, xml_data)
|
378
378
|
end
|
379
379
|
|
380
|
+
# @param {Long} eid
|
381
|
+
# @param {Hash} billing_account
|
382
|
+
#
|
383
|
+
def update_address eid, billing_account
|
384
|
+
data = {
|
385
|
+
billingAccount: {
|
386
|
+
eid: eid,
|
387
|
+
billType: billing_account[:bill_type],
|
388
|
+
automaticRecurringPayment: billing_account[:automatic_recurring_payment]
|
389
|
+
},
|
390
|
+
addresses: GoTransverseTractApi::ApiData.new.get_addresses(billing_account)
|
391
|
+
}
|
392
|
+
|
393
|
+
xml_data = GoTransverseTractApi.generateXML(data, 'billingAccount')
|
394
|
+
GoTransverseTractApi.put_request_for(self, {eid: eid}, xml_data)
|
395
|
+
end
|
396
|
+
|
380
397
|
private
|
381
398
|
|
382
399
|
def get_products(billing_account)
|
@@ -296,8 +296,6 @@ module GoTransverseTractApi
|
|
296
296
|
}
|
297
297
|
}
|
298
298
|
it "creates a draft sales order without a promo code for the billing account" do
|
299
|
-
described_class.create_draft_order(eid, data)
|
300
|
-
|
301
299
|
allow(subject).to receive(:create_draft_order).with(eid, data).and_return(response)
|
302
300
|
expect(subject.create_draft_order(eid, data)).to eq(response)
|
303
301
|
end
|
@@ -331,5 +329,19 @@ module GoTransverseTractApi
|
|
331
329
|
end
|
332
330
|
end
|
333
331
|
|
332
|
+
context ".update_address" do
|
333
|
+
it "updates a billing account address" do
|
334
|
+
data = {
|
335
|
+
eid: eid,
|
336
|
+
bill_type: 'NONE',
|
337
|
+
automatic_recurring_payment: 'true',
|
338
|
+
addresses: addresses.delete_if{|k,v| k == :email_address}
|
339
|
+
}
|
340
|
+
|
341
|
+
allow(subject).to receive(:update_address).with(eid, data).and_return(response)
|
342
|
+
expect(subject.update_address(eid, data)).to eq(response)
|
343
|
+
end
|
344
|
+
end
|
345
|
+
|
334
346
|
end
|
335
347
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gotransverse-tract-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julien DeFrance
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-02-
|
12
|
+
date: 2016-02-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|