zuora-ruby 0.2.0 → 0.3.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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.rubocop.yml +11 -1
  4. data/README.md +101 -172
  5. data/bin/console +2 -2
  6. data/lib/utils/schema_model.rb +194 -0
  7. data/lib/zuora.rb +30 -72
  8. data/lib/zuora/calls/amend.rb +68 -0
  9. data/lib/zuora/calls/create.rb +9 -0
  10. data/lib/zuora/calls/delete.rb +20 -0
  11. data/lib/zuora/calls/generate.rb +22 -0
  12. data/lib/zuora/calls/login.rb +21 -0
  13. data/lib/zuora/calls/query.rb +15 -0
  14. data/lib/zuora/calls/subscribe.rb +75 -0
  15. data/lib/zuora/calls/update.rb +9 -0
  16. data/lib/zuora/calls/upsert.rb +29 -0
  17. data/lib/zuora/client.rb +84 -94
  18. data/lib/zuora/dispatcher.rb +45 -0
  19. data/lib/zuora/object.rb +5 -0
  20. data/lib/zuora/response.rb +50 -0
  21. data/lib/zuora/utils/envelope.rb +98 -0
  22. data/lib/zuora/version.rb +1 -4
  23. data/zuora_ruby.gemspec +10 -11
  24. metadata +57 -67
  25. data/lib/zuora/models.rb +0 -11
  26. data/lib/zuora/models/account.rb +0 -64
  27. data/lib/zuora/models/card_holder.rb +0 -54
  28. data/lib/zuora/models/contact.rb +0 -71
  29. data/lib/zuora/models/dirty.rb +0 -192
  30. data/lib/zuora/models/payment_method.rb +0 -1
  31. data/lib/zuora/models/payment_methods/credit_card.rb +0 -37
  32. data/lib/zuora/models/rate_plan.rb +0 -17
  33. data/lib/zuora/models/rate_plan_charge.rb +0 -119
  34. data/lib/zuora/models/subscription.rb +0 -80
  35. data/lib/zuora/models/tier.rb +0 -27
  36. data/lib/zuora/models/validation_predicates.rb +0 -29
  37. data/lib/zuora/resources.rb +0 -6
  38. data/lib/zuora/resources/accounts.rb +0 -20
  39. data/lib/zuora/resources/payment_methods.rb +0 -1
  40. data/lib/zuora/resources/payment_methods/credit_card.rb +0 -24
  41. data/lib/zuora/resources/subscriptions.rb +0 -17
  42. data/lib/zuora/serializers.rb +0 -1
  43. data/lib/zuora/serializers/attribute.rb +0 -35
  44. data/lib/zuora/serializers/noop.rb +0 -18
  45. data/zuora/fixtures/vcr_cassettes/account_create_.yml +0 -111
  46. data/zuora/fixtures/vcr_cassettes/account_update_.yml +0 -113
  47. data/zuora/fixtures/vcr_cassettes/subscription_create_.yml +0 -114
  48. data/zuora/fixtures/vcr_cassettes/subscription_update_.yml +0 -114
@@ -1,113 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://apisandbox-api.zuora.com/rest/v1/connections
6
- body:
7
- encoding: UTF-8
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Faraday v0.9.2
12
- Apiaccesskeyid:
13
- - "<ZUORA_SANDBOX_USERNAME>"
14
- Apisecretaccesskey:
15
- - "<ZUORA_SANDBOX_PASSWORD>"
16
- Content-Type:
17
- - application/json
18
- Content-Length:
19
- - '0'
20
- Accept-Encoding:
21
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
- Accept:
23
- - "*/*"
24
- response:
25
- status:
26
- code: 200
27
- message: OK
28
- headers:
29
- Server:
30
- - Zuora App
31
- Content-Type:
32
- - application/json;charset=utf-8
33
- Content-Length:
34
- - '22'
35
- Expires:
36
- - Fri, 15 Jan 2016 19:25:55 GMT
37
- Cache-Control:
38
- - max-age=0, no-cache, no-store
39
- Pragma:
40
- - no-cache
41
- Date:
42
- - Fri, 15 Jan 2016 19:25:55 GMT
43
- Connection:
44
- - keep-alive
45
- Set-Cookie:
46
- - ZSession=seOaOoEwQBAJwzt8k9_40U_ZoGXdKpzXBJYeeXqeDI-LudNbKJsJWgKZA5Of2nLdm_bolnZYuEKQfULWSpCsWLMr7k7Ph24t4DJ5JmS9Lk7WKH00AoeHR7b3b9giAL3m9JRGJjnz8C2OFU8KKAqb9CSLHd9vnX-ccCcdA7i3ybQbD579au-l0g8RCmzV32ox4Y-WOKS9762DrIDQBlskNMD05uXH6rCZ_ed_fIcYPPXpJXdw94d8uiKbt9-IyKbs;
47
- Path=/; Secure; HttpOnly
48
- body:
49
- encoding: UTF-8
50
- string: |-
51
- {
52
- "success" : true
53
- }
54
- http_version:
55
- recorded_at: Fri, 15 Jan 2016 19:25:55 GMT
56
- - request:
57
- method: put
58
- uri: https://apisandbox-api.zuora.com/rest/v1/accounts
59
- body:
60
- encoding: UTF-8
61
- string: '{"name":"Abc","autoPay":true,"currency":"USD","billCycleDay":"0","paymentTerm":"Net
62
- 30","accountNumber":"123456","soldToContact":{"firstName":"Abc","lastName":"Def","address1":"123
63
- Main St","city":"Palm Springs","state":"FL","zipCode":"90210","country":"US"},"billToContact":{"firstName":"Abc","lastName":"Def","address1":"123
64
- Main St","city":"Palm Springs","state":"FL","zipCode":"90210","country":"US"},"creditCard":{"cardType":"Visa","cardNumber":"4111111111111111","expirationMonth":"03","expirationYear":"2017","securityCode":"122"}}'
65
- headers:
66
- User-Agent:
67
- - Faraday v0.9.2
68
- Content-Type:
69
- - application/json
70
- Cookie:
71
- - ZSession=seOaOoEwQBAJwzt8k9_40U_ZoGXdKpzXBJYeeXqeDI-LudNbKJsJWgKZA5Of2nLdm_bolnZYuEKQfULWSpCsWLMr7k7Ph24t4DJ5JmS9Lk7WKH00AoeHR7b3b9giAL3m9JRGJjnz8C2OFU8KKAqb9CSLHd9vnX-ccCcdA7i3ybQbD579au-l0g8RCmzV32ox4Y-WOKS9762DrIDQBlskNMD05uXH6rCZ_ed_fIcYPPXpJXdw94d8uiKbt9-IyKbs;
72
- Accept-Encoding:
73
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
74
- Accept:
75
- - "*/*"
76
- response:
77
- status:
78
- code: 200
79
- message: OK
80
- headers:
81
- Server:
82
- - Zuora App
83
- Content-Type:
84
- - application/json;charset=utf-8
85
- Content-Length:
86
- - '160'
87
- Expires:
88
- - Fri, 15 Jan 2016 19:25:56 GMT
89
- Cache-Control:
90
- - max-age=0, no-cache, no-store
91
- Pragma:
92
- - no-cache
93
- Date:
94
- - Fri, 15 Jan 2016 19:25:56 GMT
95
- Connection:
96
- - keep-alive
97
- Set-Cookie:
98
- - ZSession=CGpSWWA6PatM21pEZjyznwDiVhS5jLlHrFSLbWEzNxAhuVd1kbgq7wiMvNb24TSpA1LTWcn4iq3FFeLosRWH57Em65wDc2bflwX4UFbLimijMiYw7WMyPJQwgXrlcY6vDVbaDa73i4EQPo7qEt0jtnGmxnYCGx5N4J_o74i1pODWb9bOne-2VvUy8R5zmTIbikQGpuYqK_LPgVOQzFj63W_Ot527jBc2vhnV4M6iXh-xpJ9gcEzQat7vfkvqURLz;
99
- Path=/; Secure; HttpOnly
100
- body:
101
- encoding: UTF-8
102
- string: |-
103
- {
104
- "success" : false,
105
- "processId" : "43E33BC8CA606840",
106
- "reasons" : [ {
107
- "code" : 50000000,
108
- "message" : "Request method 'PUT' not supported"
109
- } ]
110
- }
111
- http_version:
112
- recorded_at: Fri, 15 Jan 2016 19:25:56 GMT
113
- recorded_with: VCR 3.0.1
@@ -1,114 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://apisandbox-api.zuora.com/rest/v1/connections
6
- body:
7
- encoding: UTF-8
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Faraday v0.9.2
12
- Apiaccesskeyid:
13
- - "<ZUORA_SANDBOX_USERNAME>"
14
- Apisecretaccesskey:
15
- - "<ZUORA_SANDBOX_PASSWORD>"
16
- Content-Type:
17
- - application/json
18
- Content-Length:
19
- - '0'
20
- Accept-Encoding:
21
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
- Accept:
23
- - "*/*"
24
- response:
25
- status:
26
- code: 200
27
- message: OK
28
- headers:
29
- Server:
30
- - Zuora App
31
- Content-Type:
32
- - application/json;charset=utf-8
33
- Content-Length:
34
- - '22'
35
- Expires:
36
- - Fri, 15 Jan 2016 19:25:56 GMT
37
- Cache-Control:
38
- - max-age=0, no-cache, no-store
39
- Pragma:
40
- - no-cache
41
- Date:
42
- - Fri, 15 Jan 2016 19:25:56 GMT
43
- Connection:
44
- - keep-alive
45
- Set-Cookie:
46
- - ZSession=R-kRFnqPxT5TKoUxBLInRrbJ3LKeJs6h-49mDFGg9d6yMVTvf0XYcMe843f36xXNMJSEr3ugyh57cRXqBGW2ndut5DFzIG95u1tXZrZe3hi6bA7QOuaTON8Qo2XJjnad3HkxhIYxIeDrj7BFdpvsYrSgr62x-Rx72KvMmBogxyDHnkCM_VsmdXtCViAH1ikR8Jsn-KI79PDxgMqlUU2RRlbB_QvGkn8GHFKJuGAEaNwuh7j2WQqXLO3KpXpjnhT7;
47
- Path=/; Secure; HttpOnly
48
- body:
49
- encoding: UTF-8
50
- string: |-
51
- {
52
- "success" : true
53
- }
54
- http_version:
55
- recorded_at: Fri, 15 Jan 2016 19:25:56 GMT
56
- - request:
57
- method: post
58
- uri: https://apisandbox-api.zuora.com/rest/v1/subscriptions
59
- body:
60
- encoding: UTF-8
61
- string: '{"renewalTerm":3,"renewalTermPeriodType":"week","termType":"TERMED","autoRenew":true,"invoiceTargetDate":"-4712-01-01","accountKey":"123456","contractEffectiveDate":"-4712-01-01","invoiceCollect":false,"initialTerm":"12","initialTermPeriodType":"Week","notes":"Test
62
- POST subscription from zuora-ruby"}'
63
- headers:
64
- User-Agent:
65
- - Faraday v0.9.2
66
- Content-Type:
67
- - application/json
68
- Cookie:
69
- - ZSession=R-kRFnqPxT5TKoUxBLInRrbJ3LKeJs6h-49mDFGg9d6yMVTvf0XYcMe843f36xXNMJSEr3ugyh57cRXqBGW2ndut5DFzIG95u1tXZrZe3hi6bA7QOuaTON8Qo2XJjnad3HkxhIYxIeDrj7BFdpvsYrSgr62x-Rx72KvMmBogxyDHnkCM_VsmdXtCViAH1ikR8Jsn-KI79PDxgMqlUU2RRlbB_QvGkn8GHFKJuGAEaNwuh7j2WQqXLO3KpXpjnhT7;
70
- Accept-Encoding:
71
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
72
- Accept:
73
- - "*/*"
74
- response:
75
- status:
76
- code: 200
77
- message: OK
78
- headers:
79
- Server:
80
- - Zuora App
81
- Content-Type:
82
- - application/json;charset=utf-8
83
- Content-Length:
84
- - '304'
85
- Expires:
86
- - Fri, 15 Jan 2016 19:25:56 GMT
87
- Cache-Control:
88
- - max-age=0, no-cache, no-store
89
- Pragma:
90
- - no-cache
91
- Date:
92
- - Fri, 15 Jan 2016 19:25:56 GMT
93
- Connection:
94
- - keep-alive
95
- Set-Cookie:
96
- - ZSession=N3s-LaLVoObl0D8YagtPcjeTe3ykE2bTVHuj1rbFhB54JjIwHnobsDnsRJRkemgMKfjcQNcUDtUWsyjyeNlxlfv0xUKm7m2dKxFaHj4bdIQ-DMrSa-zdV0I5sgRgLfn8fH7WKiOFqB3iuSl8d_mo4RSk2_m_vDUgPlIUFQKaBHbvvUsZGaD5ugegLJqBVnO_b5SRm4lfi8HwWBJ5NFvYkd4DUaknfQN7PzPdr7CiHyZg0ROk7Mw6M7mmjw4ufEAW;
97
- Path=/; Secure; HttpOnly
98
- body:
99
- encoding: UTF-8
100
- string: |-
101
- {
102
- "success" : false,
103
- "processId" : "701D3B2AAC3AC4E7",
104
- "reasons" : [ {
105
- "code" : 53001820,
106
- "message" : "'renewalTermPeriodType' value should be one of: Month, Year, Day, Week"
107
- }, {
108
- "code" : 53001020,
109
- "message" : "'invoiceTargetDate' must match \"\\d{4}-\\d{1,2}-\\d{1,2}\""
110
- } ]
111
- }
112
- http_version:
113
- recorded_at: Fri, 15 Jan 2016 19:25:57 GMT
114
- recorded_with: VCR 3.0.1
@@ -1,114 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://apisandbox-api.zuora.com/rest/v1/connections
6
- body:
7
- encoding: UTF-8
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Faraday v0.9.2
12
- Apiaccesskeyid:
13
- - "<ZUORA_SANDBOX_USERNAME>"
14
- Apisecretaccesskey:
15
- - "<ZUORA_SANDBOX_PASSWORD>"
16
- Content-Type:
17
- - application/json
18
- Content-Length:
19
- - '0'
20
- Accept-Encoding:
21
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
- Accept:
23
- - "*/*"
24
- response:
25
- status:
26
- code: 200
27
- message: OK
28
- headers:
29
- Server:
30
- - Zuora App
31
- Content-Type:
32
- - application/json;charset=utf-8
33
- Content-Length:
34
- - '22'
35
- Expires:
36
- - Fri, 15 Jan 2016 19:25:57 GMT
37
- Cache-Control:
38
- - max-age=0, no-cache, no-store
39
- Pragma:
40
- - no-cache
41
- Date:
42
- - Fri, 15 Jan 2016 19:25:57 GMT
43
- Connection:
44
- - keep-alive
45
- Set-Cookie:
46
- - ZSession=xuPDHC0vDbpykpLgYfs3R7ALV1jYa8L7xucWC3Y_thICXtaBKHx5tZ7GjsPklFnEaTqTUR30qDpJllrlz_UL8uYhcMDvU84rYzFx1McoN4LxsVWXccZ2G7TM4vD3eg4eFlDFqhzc37mFpsIBM_8mB6_7FhwKUcT8oHcFkH-aD46T6fjjp3DCB0Vby1UJ0-m6DGU0O3QzdZ2TBhCYewLp20ssG6TKZ3wE26WYogYfmmxWNZtxGWW5LwI5dtjdY4bt;
47
- Path=/; Secure; HttpOnly
48
- body:
49
- encoding: UTF-8
50
- string: |-
51
- {
52
- "success" : true
53
- }
54
- http_version:
55
- recorded_at: Fri, 15 Jan 2016 19:25:57 GMT
56
- - request:
57
- method: post
58
- uri: https://apisandbox-api.zuora.com/rest/v1/subscriptions
59
- body:
60
- encoding: UTF-8
61
- string: '{"renewalTerm":3,"renewalTermPeriodType":"week","termType":"TERMED","autoRenew":true,"invoiceTargetDate":"-4712-01-01","accountKey":"123456","contractEffectiveDate":"-4712-01-01","invoiceCollect":false,"initialTerm":"12","initialTermPeriodType":"Week","notes":"Test
62
- POST subscription from zuora-ruby"}'
63
- headers:
64
- User-Agent:
65
- - Faraday v0.9.2
66
- Content-Type:
67
- - application/json
68
- Cookie:
69
- - ZSession=xuPDHC0vDbpykpLgYfs3R7ALV1jYa8L7xucWC3Y_thICXtaBKHx5tZ7GjsPklFnEaTqTUR30qDpJllrlz_UL8uYhcMDvU84rYzFx1McoN4LxsVWXccZ2G7TM4vD3eg4eFlDFqhzc37mFpsIBM_8mB6_7FhwKUcT8oHcFkH-aD46T6fjjp3DCB0Vby1UJ0-m6DGU0O3QzdZ2TBhCYewLp20ssG6TKZ3wE26WYogYfmmxWNZtxGWW5LwI5dtjdY4bt;
70
- Accept-Encoding:
71
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
72
- Accept:
73
- - "*/*"
74
- response:
75
- status:
76
- code: 200
77
- message: OK
78
- headers:
79
- Server:
80
- - Zuora App
81
- Content-Type:
82
- - application/json;charset=utf-8
83
- Content-Length:
84
- - '304'
85
- Expires:
86
- - Fri, 15 Jan 2016 19:25:57 GMT
87
- Cache-Control:
88
- - max-age=0, no-cache, no-store
89
- Pragma:
90
- - no-cache
91
- Date:
92
- - Fri, 15 Jan 2016 19:25:57 GMT
93
- Connection:
94
- - keep-alive
95
- Set-Cookie:
96
- - ZSession=zclVVC03awBAyPC54doXc0DA3Ax7VLNB6n4h-RG750OyU1oNMgR_MKhZP2BmHY0AyASTJY_L7_vOMDSqt96wOukAYjxrJwNYXe5aU3zzMc6Sq0Re-B9RmKqhejpNlKe9NFrkU1XyBLDX2NNy2agXLbEzEyo2u7-8Uet9IdernwenP0CY7XoHiHjwxkQm9Kw9nPM6QbwlfXUwEl5yh3qScKhhjx7EihlgUZpV8t0fp4wrGao9WJNuHwC5bNMGLzNU;
97
- Path=/; Secure; HttpOnly
98
- body:
99
- encoding: UTF-8
100
- string: |-
101
- {
102
- "success" : false,
103
- "processId" : "BCD764763E1C61A8",
104
- "reasons" : [ {
105
- "code" : 53001020,
106
- "message" : "'invoiceTargetDate' must match \"\\d{4}-\\d{1,2}-\\d{1,2}\""
107
- }, {
108
- "code" : 53001820,
109
- "message" : "'renewalTermPeriodType' value should be one of: Month, Year, Day, Week"
110
- } ]
111
- }
112
- http_version:
113
- recorded_at: Fri, 15 Jan 2016 19:25:59 GMT
114
- recorded_with: VCR 3.0.1