recurly 2.18.21 → 3.0.0.beta.1

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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +158 -110
  8. data/Rakefile +6 -0
  9. data/bin/bundle +105 -0
  10. data/bin/coderay +29 -0
  11. data/bin/console +14 -0
  12. data/bin/htmldiff +29 -0
  13. data/bin/ldiff +29 -0
  14. data/bin/pry +29 -0
  15. data/bin/rake +29 -0
  16. data/bin/rspec +29 -0
  17. data/bin/setup +8 -0
  18. data/bin/yard +29 -0
  19. data/bin/yardoc +29 -0
  20. data/bin/yri +29 -0
  21. data/lib/data/ca-certificates.crt +31 -0
  22. data/lib/recurly/client/operations.rb +935 -0
  23. data/lib/recurly/client.rb +198 -0
  24. data/lib/recurly/errors/api_errors.rb +35 -0
  25. data/lib/recurly/errors/network_errors.rb +8 -0
  26. data/lib/recurly/errors.rb +34 -0
  27. data/lib/recurly/pager.rb +119 -0
  28. data/lib/recurly/request.rb +30 -0
  29. data/lib/recurly/requests/account_acquisition_updatable.rb +22 -0
  30. data/lib/recurly/requests/account_create_only.rb +18 -0
  31. data/lib/recurly/requests/account_updatable.rb +50 -0
  32. data/lib/recurly/requests/add_on_create.rb +38 -0
  33. data/lib/recurly/requests/add_on_update.rb +38 -0
  34. data/lib/recurly/requests/address.rb +42 -0
  35. data/lib/recurly/requests/billing_info_create.rb +58 -0
  36. data/lib/recurly/requests/coupon_create_only.rb +66 -0
  37. data/lib/recurly/requests/coupon_updatable.rb +30 -0
  38. data/lib/recurly/requests/create_account.rb +62 -0
  39. data/lib/recurly/requests/create_coupon.rb +90 -0
  40. data/lib/recurly/requests/invoice_create.rb +42 -0
  41. data/lib/recurly/requests/invoice_refund.rb +30 -0
  42. data/lib/recurly/requests/line_item_create.rb +46 -0
  43. data/lib/recurly/requests/plan_create.rb +66 -0
  44. data/lib/recurly/requests/plan_update.rb +70 -0
  45. data/lib/recurly/requests/shipping_address_create.rb +58 -0
  46. data/lib/recurly/requests/shipping_address_update.rb +62 -0
  47. data/lib/recurly/requests/subscription_add_on_create.rb +22 -0
  48. data/lib/recurly/requests/subscription_change_create.rb +42 -0
  49. data/lib/recurly/requests/subscription_create.rb +86 -0
  50. data/lib/recurly/requests/subscription_update.rb +42 -0
  51. data/lib/recurly/requests/update_coupon.rb +30 -0
  52. data/lib/recurly/resource.rb +16 -1103
  53. data/lib/recurly/resources/account.rb +86 -0
  54. data/lib/recurly/resources/account_acquisition.rb +42 -0
  55. data/lib/recurly/resources/account_balance.rb +22 -0
  56. data/lib/recurly/resources/account_note.rb +30 -0
  57. data/lib/recurly/resources/add_on.rb +62 -0
  58. data/lib/recurly/resources/address.rb +42 -0
  59. data/lib/recurly/resources/billing_info.rb +62 -0
  60. data/lib/recurly/resources/coupon.rb +110 -0
  61. data/lib/recurly/resources/coupon_discount.rb +22 -0
  62. data/lib/recurly/resources/coupon_redemption.rb +46 -0
  63. data/lib/recurly/resources/credit_payment.rb +62 -0
  64. data/lib/recurly/resources/error.rb +18 -0
  65. data/lib/recurly/resources/error_may_have_transaction.rb +22 -0
  66. data/lib/recurly/resources/invoice.rb +138 -0
  67. data/lib/recurly/resources/invoice_collection.rb +18 -0
  68. data/lib/recurly/resources/line_item.rb +166 -0
  69. data/lib/recurly/resources/plan.rb +86 -0
  70. data/lib/recurly/resources/settings.rb +18 -0
  71. data/lib/recurly/resources/shipping_address.rb +74 -0
  72. data/lib/recurly/resources/site.rb +46 -0
  73. data/lib/recurly/resources/subscription.rb +134 -0
  74. data/lib/recurly/resources/subscription_add_on.rb +42 -0
  75. data/lib/recurly/resources/subscription_change.rb +54 -0
  76. data/lib/recurly/resources/tax_info.rb +18 -0
  77. data/lib/recurly/resources/transaction.rb +146 -0
  78. data/lib/recurly/resources/unique_coupon_code.rb +38 -0
  79. data/lib/recurly/resources/user.rb +38 -0
  80. data/lib/recurly/schema/json_deserializer.rb +53 -0
  81. data/lib/recurly/schema/json_parser.rb +71 -0
  82. data/lib/recurly/schema/request_caster.rb +66 -0
  83. data/lib/recurly/schema/schema_factory.rb +50 -0
  84. data/lib/recurly/schema/schema_validator.rb +125 -0
  85. data/lib/recurly/schema.rb +114 -0
  86. data/lib/recurly/version.rb +1 -10
  87. data/lib/recurly.rb +14 -145
  88. data/recurly.gemspec +32 -0
  89. data/scripts/build +4 -0
  90. data/scripts/clean +6 -0
  91. data/scripts/test +3 -0
  92. metadata +129 -173
  93. data/lib/recurly/account.rb +0 -209
  94. data/lib/recurly/account_acquisition.rb +0 -27
  95. data/lib/recurly/account_balance.rb +0 -21
  96. data/lib/recurly/add_on.rb +0 -46
  97. data/lib/recurly/address.rb +0 -25
  98. data/lib/recurly/adjustment.rb +0 -81
  99. data/lib/recurly/api/errors.rb +0 -208
  100. data/lib/recurly/api/net_http_adapter.rb +0 -111
  101. data/lib/recurly/api.rb +0 -110
  102. data/lib/recurly/billing_info.rb +0 -113
  103. data/lib/recurly/coupon.rb +0 -136
  104. data/lib/recurly/credit_payment.rb +0 -32
  105. data/lib/recurly/custom_field.rb +0 -15
  106. data/lib/recurly/delivery.rb +0 -19
  107. data/lib/recurly/error.rb +0 -13
  108. data/lib/recurly/gift_card.rb +0 -85
  109. data/lib/recurly/helper.rb +0 -51
  110. data/lib/recurly/invoice.rb +0 -304
  111. data/lib/recurly/invoice_collection.rb +0 -14
  112. data/lib/recurly/item.rb +0 -36
  113. data/lib/recurly/js.rb +0 -14
  114. data/lib/recurly/juris_detail.rb +0 -15
  115. data/lib/recurly/measured_unit.rb +0 -16
  116. data/lib/recurly/money.rb +0 -120
  117. data/lib/recurly/note.rb +0 -14
  118. data/lib/recurly/plan.rb +0 -43
  119. data/lib/recurly/purchase.rb +0 -238
  120. data/lib/recurly/redemption.rb +0 -46
  121. data/lib/recurly/resource/association.rb +0 -16
  122. data/lib/recurly/resource/errors.rb +0 -20
  123. data/lib/recurly/resource/pager.rb +0 -313
  124. data/lib/recurly/shipping_address.rb +0 -26
  125. data/lib/recurly/shipping_fee.rb +0 -17
  126. data/lib/recurly/shipping_method.rb +0 -13
  127. data/lib/recurly/subscription/add_ons.rb +0 -82
  128. data/lib/recurly/subscription.rb +0 -366
  129. data/lib/recurly/subscription_add_on.rb +0 -58
  130. data/lib/recurly/tax_detail.rb +0 -18
  131. data/lib/recurly/tax_type.rb +0 -13
  132. data/lib/recurly/tier.rb +0 -18
  133. data/lib/recurly/transaction/errors.rb +0 -115
  134. data/lib/recurly/transaction.rb +0 -131
  135. data/lib/recurly/usage.rb +0 -28
  136. data/lib/recurly/verify.rb +0 -12
  137. data/lib/recurly/webhook/account_notification.rb +0 -13
  138. data/lib/recurly/webhook/billing_info_update_failed_notification.rb +0 -6
  139. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  140. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  141. data/lib/recurly/webhook/canceled_gift_card_notification.rb +0 -6
  142. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  143. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  144. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  145. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  146. data/lib/recurly/webhook/deactivated_item_notification.rb +0 -6
  147. data/lib/recurly/webhook/deleted_shipping_address_notification.rb +0 -6
  148. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  149. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  150. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  151. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  152. data/lib/recurly/webhook/fraud_info_updated_notification.rb +0 -6
  153. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  154. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  155. data/lib/recurly/webhook/item_notification.rb +0 -7
  156. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  157. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  158. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  159. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  160. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  161. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  162. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  163. data/lib/recurly/webhook/new_item_notification.rb +0 -6
  164. data/lib/recurly/webhook/new_shipping_address_notification.rb +0 -6
  165. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  166. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  167. data/lib/recurly/webhook/notification.rb +0 -18
  168. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  169. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  170. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  171. data/lib/recurly/webhook/paused_subscription_renewal_notification.rb +0 -6
  172. data/lib/recurly/webhook/prerenewal_notification.rb +0 -6
  173. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  174. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  175. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  176. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  177. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  178. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  179. data/lib/recurly/webhook/reactivated_item_notification.rb +0 -6
  180. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  181. data/lib/recurly/webhook/regenerated_gift_card_notification.rb +0 -6
  182. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  183. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  184. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  185. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  186. data/lib/recurly/webhook/scheduled_subscription_pause_notification.rb +0 -6
  187. data/lib/recurly/webhook/scheduled_subscription_update_notification.rb +0 -6
  188. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  189. data/lib/recurly/webhook/subscription_pause_canceled_notification.rb +0 -6
  190. data/lib/recurly/webhook/subscription_pause_modified_notification.rb +0 -6
  191. data/lib/recurly/webhook/subscription_paused_notification.rb +0 -6
  192. data/lib/recurly/webhook/subscription_resumed_notification.rb +0 -6
  193. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  194. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  195. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  196. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  197. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  198. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  199. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  200. data/lib/recurly/webhook/updated_gift_card_notification.rb +0 -6
  201. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  202. data/lib/recurly/webhook/updated_item_notification.rb +0 -6
  203. data/lib/recurly/webhook/updated_shipping_address_notification.rb +0 -6
  204. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  205. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  206. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  207. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  208. data/lib/recurly/webhook.rb +0 -113
  209. data/lib/recurly/xml/nokogiri.rb +0 -60
  210. data/lib/recurly/xml/rexml.rb +0 -52
  211. data/lib/recurly/xml.rb +0 -122
data/scripts/build ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env bash
2
+
3
+ bundle install --binstubs --quiet
4
+ ./bin/yard --quiet
data/scripts/clean ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+
3
+ rm -f ./lib/recurly/resources/*
4
+ rm -f ./lib/recurly/requests/*
5
+ rm -f ./lib/recurly/errors/api_errors.rb
6
+ rm -f ./lib/recurly/client/operations.rb
data/scripts/test ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+
3
+ ./bin/rspec
metadata CHANGED
@@ -1,276 +1,232 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recurly
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.18.21
4
+ version: 3.0.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-25 00:00:00.000000000 Z
11
+ date: 2018-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: nokogiri
14
+ name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.8'
20
- - - ">="
19
+ version: '0.13'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
21
25
  - !ruby/object:Gem::Version
22
- version: 1.8.2
26
+ version: '0.13'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.14'
23
34
  type: :development
24
35
  prerelease: false
25
36
  version_requirements: !ruby/object:Gem::Requirement
26
37
  requirements:
27
38
  - - "~>"
28
39
  - !ruby/object:Gem::Version
29
- version: '1.8'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 1.8.2
40
+ version: '1.14'
33
41
  - !ruby/object:Gem::Dependency
34
42
  name: rake
35
43
  requirement: !ruby/object:Gem::Requirement
36
44
  requirements:
37
45
  - - "~>"
38
46
  - !ruby/object:Gem::Version
39
- version: '11.3'
47
+ version: '10.0'
40
48
  type: :development
41
49
  prerelease: false
42
50
  version_requirements: !ruby/object:Gem::Requirement
43
51
  requirements:
44
52
  - - "~>"
45
53
  - !ruby/object:Gem::Version
46
- version: '11.3'
54
+ version: '10.0'
47
55
  - !ruby/object:Gem::Dependency
48
- name: minitest
56
+ name: rspec
49
57
  requirement: !ruby/object:Gem::Requirement
50
58
  requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 5.8.0
54
59
  - - "~>"
55
60
  - !ruby/object:Gem::Version
56
- version: '5.8'
61
+ version: '3.0'
57
62
  type: :development
58
63
  prerelease: false
59
64
  version_requirements: !ruby/object:Gem::Requirement
60
65
  requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 5.8.0
64
66
  - - "~>"
65
67
  - !ruby/object:Gem::Version
66
- version: '5.8'
68
+ version: '3.0'
67
69
  - !ruby/object:Gem::Dependency
68
- name: addressable
70
+ name: yard
69
71
  requirement: !ruby/object:Gem::Requirement
70
72
  requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 2.4.0
74
73
  - - "~>"
75
74
  - !ruby/object:Gem::Version
76
- version: '2.4'
75
+ version: '0.9'
77
76
  type: :development
78
77
  prerelease: false
79
78
  version_requirements: !ruby/object:Gem::Requirement
80
79
  requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: 2.4.0
84
80
  - - "~>"
85
81
  - !ruby/object:Gem::Version
86
- version: '2.4'
82
+ version: '0.9'
87
83
  - !ruby/object:Gem::Dependency
88
- name: webmock
84
+ name: pry
89
85
  requirement: !ruby/object:Gem::Requirement
90
86
  requirements:
91
87
  - - "~>"
92
88
  - !ruby/object:Gem::Version
93
- version: '2.3'
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: 2.3.2
89
+ version: '0.10'
97
90
  type: :development
98
91
  prerelease: false
99
92
  version_requirements: !ruby/object:Gem::Requirement
100
93
  requirements:
101
94
  - - "~>"
102
95
  - !ruby/object:Gem::Version
103
- version: '2.3'
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- version: 2.3.2
96
+ version: '0.10'
107
97
  - !ruby/object:Gem::Dependency
108
98
  name: simplecov
109
99
  requirement: !ruby/object:Gem::Requirement
110
100
  requirements:
111
101
  - - "~>"
112
102
  - !ruby/object:Gem::Version
113
- version: '0'
103
+ version: '0.16'
114
104
  type: :development
115
105
  prerelease: false
116
106
  version_requirements: !ruby/object:Gem::Requirement
117
107
  requirements:
118
108
  - - "~>"
119
109
  - !ruby/object:Gem::Version
120
- version: '0'
121
- description: 'An API client library for Recurly: https://recurly.com'
122
- email: support@recurly.com
110
+ version: '0.16'
111
+ description: The ruby client for Recurly's Partner API
112
+ email:
113
+ - support@recurly.com
123
114
  executables: []
124
115
  extensions: []
125
- extra_rdoc_files:
126
- - README.md
116
+ extra_rdoc_files: []
127
117
  files:
118
+ - ".gitignore"
119
+ - ".rspec"
120
+ - ".travis.yml"
121
+ - Gemfile
122
+ - LICENSE.txt
128
123
  - README.md
124
+ - Rakefile
125
+ - bin/bundle
126
+ - bin/coderay
127
+ - bin/console
128
+ - bin/htmldiff
129
+ - bin/ldiff
130
+ - bin/pry
131
+ - bin/rake
132
+ - bin/rspec
133
+ - bin/setup
134
+ - bin/yard
135
+ - bin/yardoc
136
+ - bin/yri
137
+ - lib/data/ca-certificates.crt
129
138
  - lib/recurly.rb
130
- - lib/recurly/account.rb
131
- - lib/recurly/account_acquisition.rb
132
- - lib/recurly/account_balance.rb
133
- - lib/recurly/add_on.rb
134
- - lib/recurly/address.rb
135
- - lib/recurly/adjustment.rb
136
- - lib/recurly/api.rb
137
- - lib/recurly/api/errors.rb
138
- - lib/recurly/api/net_http_adapter.rb
139
- - lib/recurly/billing_info.rb
140
- - lib/recurly/coupon.rb
141
- - lib/recurly/credit_payment.rb
142
- - lib/recurly/custom_field.rb
143
- - lib/recurly/delivery.rb
144
- - lib/recurly/error.rb
145
- - lib/recurly/gift_card.rb
146
- - lib/recurly/helper.rb
147
- - lib/recurly/invoice.rb
148
- - lib/recurly/invoice_collection.rb
149
- - lib/recurly/item.rb
150
- - lib/recurly/js.rb
151
- - lib/recurly/juris_detail.rb
152
- - lib/recurly/measured_unit.rb
153
- - lib/recurly/money.rb
154
- - lib/recurly/note.rb
155
- - lib/recurly/plan.rb
156
- - lib/recurly/purchase.rb
157
- - lib/recurly/redemption.rb
139
+ - lib/recurly/client.rb
140
+ - lib/recurly/client/operations.rb
141
+ - lib/recurly/errors.rb
142
+ - lib/recurly/errors/api_errors.rb
143
+ - lib/recurly/errors/network_errors.rb
144
+ - lib/recurly/pager.rb
145
+ - lib/recurly/request.rb
146
+ - lib/recurly/requests/account_acquisition_updatable.rb
147
+ - lib/recurly/requests/account_create_only.rb
148
+ - lib/recurly/requests/account_updatable.rb
149
+ - lib/recurly/requests/add_on_create.rb
150
+ - lib/recurly/requests/add_on_update.rb
151
+ - lib/recurly/requests/address.rb
152
+ - lib/recurly/requests/billing_info_create.rb
153
+ - lib/recurly/requests/coupon_create_only.rb
154
+ - lib/recurly/requests/coupon_updatable.rb
155
+ - lib/recurly/requests/create_account.rb
156
+ - lib/recurly/requests/create_coupon.rb
157
+ - lib/recurly/requests/invoice_create.rb
158
+ - lib/recurly/requests/invoice_refund.rb
159
+ - lib/recurly/requests/line_item_create.rb
160
+ - lib/recurly/requests/plan_create.rb
161
+ - lib/recurly/requests/plan_update.rb
162
+ - lib/recurly/requests/shipping_address_create.rb
163
+ - lib/recurly/requests/shipping_address_update.rb
164
+ - lib/recurly/requests/subscription_add_on_create.rb
165
+ - lib/recurly/requests/subscription_change_create.rb
166
+ - lib/recurly/requests/subscription_create.rb
167
+ - lib/recurly/requests/subscription_update.rb
168
+ - lib/recurly/requests/update_coupon.rb
158
169
  - lib/recurly/resource.rb
159
- - lib/recurly/resource/association.rb
160
- - lib/recurly/resource/errors.rb
161
- - lib/recurly/resource/pager.rb
162
- - lib/recurly/shipping_address.rb
163
- - lib/recurly/shipping_fee.rb
164
- - lib/recurly/shipping_method.rb
165
- - lib/recurly/subscription.rb
166
- - lib/recurly/subscription/add_ons.rb
167
- - lib/recurly/subscription_add_on.rb
168
- - lib/recurly/tax_detail.rb
169
- - lib/recurly/tax_type.rb
170
- - lib/recurly/tier.rb
171
- - lib/recurly/transaction.rb
172
- - lib/recurly/transaction/errors.rb
173
- - lib/recurly/usage.rb
174
- - lib/recurly/verify.rb
170
+ - lib/recurly/resources/account.rb
171
+ - lib/recurly/resources/account_acquisition.rb
172
+ - lib/recurly/resources/account_balance.rb
173
+ - lib/recurly/resources/account_note.rb
174
+ - lib/recurly/resources/add_on.rb
175
+ - lib/recurly/resources/address.rb
176
+ - lib/recurly/resources/billing_info.rb
177
+ - lib/recurly/resources/coupon.rb
178
+ - lib/recurly/resources/coupon_discount.rb
179
+ - lib/recurly/resources/coupon_redemption.rb
180
+ - lib/recurly/resources/credit_payment.rb
181
+ - lib/recurly/resources/error.rb
182
+ - lib/recurly/resources/error_may_have_transaction.rb
183
+ - lib/recurly/resources/invoice.rb
184
+ - lib/recurly/resources/invoice_collection.rb
185
+ - lib/recurly/resources/line_item.rb
186
+ - lib/recurly/resources/plan.rb
187
+ - lib/recurly/resources/settings.rb
188
+ - lib/recurly/resources/shipping_address.rb
189
+ - lib/recurly/resources/site.rb
190
+ - lib/recurly/resources/subscription.rb
191
+ - lib/recurly/resources/subscription_add_on.rb
192
+ - lib/recurly/resources/subscription_change.rb
193
+ - lib/recurly/resources/tax_info.rb
194
+ - lib/recurly/resources/transaction.rb
195
+ - lib/recurly/resources/unique_coupon_code.rb
196
+ - lib/recurly/resources/user.rb
197
+ - lib/recurly/schema.rb
198
+ - lib/recurly/schema/json_deserializer.rb
199
+ - lib/recurly/schema/json_parser.rb
200
+ - lib/recurly/schema/request_caster.rb
201
+ - lib/recurly/schema/schema_factory.rb
202
+ - lib/recurly/schema/schema_validator.rb
175
203
  - lib/recurly/version.rb
176
- - lib/recurly/webhook.rb
177
- - lib/recurly/webhook/account_notification.rb
178
- - lib/recurly/webhook/billing_info_update_failed_notification.rb
179
- - lib/recurly/webhook/billing_info_updated_notification.rb
180
- - lib/recurly/webhook/canceled_account_notification.rb
181
- - lib/recurly/webhook/canceled_gift_card_notification.rb
182
- - lib/recurly/webhook/canceled_subscription_notification.rb
183
- - lib/recurly/webhook/closed_credit_invoice_notification.rb
184
- - lib/recurly/webhook/closed_invoice_notification.rb
185
- - lib/recurly/webhook/credit_payment_notification.rb
186
- - lib/recurly/webhook/deactivated_item_notification.rb
187
- - lib/recurly/webhook/deleted_shipping_address_notification.rb
188
- - lib/recurly/webhook/dunning_notification.rb
189
- - lib/recurly/webhook/expired_subscription_notification.rb
190
- - lib/recurly/webhook/failed_charge_invoice_notification.rb
191
- - lib/recurly/webhook/failed_payment_notification.rb
192
- - lib/recurly/webhook/fraud_info_updated_notification.rb
193
- - lib/recurly/webhook/gift_card_notification.rb
194
- - lib/recurly/webhook/invoice_notification.rb
195
- - lib/recurly/webhook/item_notification.rb
196
- - lib/recurly/webhook/low_balance_gift_card_notification.rb
197
- - lib/recurly/webhook/new_account_notification.rb
198
- - lib/recurly/webhook/new_charge_invoice_notification.rb
199
- - lib/recurly/webhook/new_credit_invoice_notification.rb
200
- - lib/recurly/webhook/new_credit_payment_notification.rb
201
- - lib/recurly/webhook/new_dunning_event_notification.rb
202
- - lib/recurly/webhook/new_invoice_notification.rb
203
- - lib/recurly/webhook/new_item_notification.rb
204
- - lib/recurly/webhook/new_shipping_address_notification.rb
205
- - lib/recurly/webhook/new_subscription_notification.rb
206
- - lib/recurly/webhook/new_usage_notification.rb
207
- - lib/recurly/webhook/notification.rb
208
- - lib/recurly/webhook/paid_charge_invoice_notification.rb
209
- - lib/recurly/webhook/past_due_charge_invoice_notification.rb
210
- - lib/recurly/webhook/past_due_invoice_notification.rb
211
- - lib/recurly/webhook/paused_subscription_renewal_notification.rb
212
- - lib/recurly/webhook/prerenewal_notification.rb
213
- - lib/recurly/webhook/processing_charge_invoice_notification.rb
214
- - lib/recurly/webhook/processing_credit_invoice_notification.rb
215
- - lib/recurly/webhook/processing_invoice_notification.rb
216
- - lib/recurly/webhook/processing_payment_notification.rb
217
- - lib/recurly/webhook/purchased_gift_card_notification.rb
218
- - lib/recurly/webhook/reactivated_account_notification.rb
219
- - lib/recurly/webhook/reactivated_item_notification.rb
220
- - lib/recurly/webhook/redeemed_gift_card_notification.rb
221
- - lib/recurly/webhook/regenerated_gift_card_notification.rb
222
- - lib/recurly/webhook/renewed_subscription_notification.rb
223
- - lib/recurly/webhook/reopened_charge_invoice_notification.rb
224
- - lib/recurly/webhook/reopened_credit_invoice_notification.rb
225
- - lib/recurly/webhook/scheduled_payment_notification.rb
226
- - lib/recurly/webhook/scheduled_subscription_pause_notification.rb
227
- - lib/recurly/webhook/scheduled_subscription_update_notification.rb
228
- - lib/recurly/webhook/subscription_notification.rb
229
- - lib/recurly/webhook/subscription_pause_canceled_notification.rb
230
- - lib/recurly/webhook/subscription_pause_modified_notification.rb
231
- - lib/recurly/webhook/subscription_paused_notification.rb
232
- - lib/recurly/webhook/subscription_resumed_notification.rb
233
- - lib/recurly/webhook/successful_payment_notification.rb
234
- - lib/recurly/webhook/successful_refund_notification.rb
235
- - lib/recurly/webhook/transaction_authorized_notification.rb
236
- - lib/recurly/webhook/transaction_notification.rb
237
- - lib/recurly/webhook/transaction_status_updated_notification.rb
238
- - lib/recurly/webhook/updated_account_notification.rb
239
- - lib/recurly/webhook/updated_balance_gift_card_notification.rb
240
- - lib/recurly/webhook/updated_gift_card_notification.rb
241
- - lib/recurly/webhook/updated_invoice_notification.rb
242
- - lib/recurly/webhook/updated_item_notification.rb
243
- - lib/recurly/webhook/updated_shipping_address_notification.rb
244
- - lib/recurly/webhook/updated_subscription_notification.rb
245
- - lib/recurly/webhook/void_payment_notification.rb
246
- - lib/recurly/webhook/voided_credit_invoice_notification.rb
247
- - lib/recurly/webhook/voided_credit_payment_notification.rb
248
- - lib/recurly/xml.rb
249
- - lib/recurly/xml/nokogiri.rb
250
- - lib/recurly/xml/rexml.rb
251
- homepage: https://github.com/recurly/recurly-client-ruby
204
+ - recurly.gemspec
205
+ - scripts/build
206
+ - scripts/clean
207
+ - scripts/test
208
+ homepage: https://partner-docs.recurly.com
252
209
  licenses:
253
210
  - MIT
254
211
  metadata: {}
255
212
  post_install_message:
256
- rdoc_options:
257
- - "--main"
258
- - README.md
213
+ rdoc_options: []
259
214
  require_paths:
260
215
  - lib
261
216
  required_ruby_version: !ruby/object:Gem::Requirement
262
217
  requirements:
263
218
  - - ">="
264
219
  - !ruby/object:Gem::Version
265
- version: 1.9.3
220
+ version: '0'
266
221
  required_rubygems_version: !ruby/object:Gem::Requirement
267
222
  requirements:
268
- - - ">="
223
+ - - ">"
269
224
  - !ruby/object:Gem::Version
270
- version: '0'
225
+ version: 1.3.1
271
226
  requirements: []
272
- rubygems_version: 3.0.3
227
+ rubyforge_project:
228
+ rubygems_version: 2.7.6
273
229
  signing_key:
274
230
  specification_version: 4
275
- summary: Recurly API Client
231
+ summary: The ruby client for Recurly's Partner API
276
232
  test_files: []
@@ -1,209 +0,0 @@
1
- module Recurly
2
- # Accounts are core to managing your customers inside of Recurly.
3
- # The account object stores the entire Recurly history of your customer and acts as the entry point
4
- # for working with a customer's billing information, subscription data, transactions, invoices and more.
5
- #
6
- # Recurly Documentation: https://dev.recurly.com/docs/account-object
7
- class Account < Resource
8
- # @macro [attach] scope
9
- # @scope class
10
- # @return [Pager<Account>] A pager that yields +$1+ accounts.
11
- scope :active, state: :active
12
- scope :closed, state: :closed
13
- scope :subscriber, state: :subscriber
14
- scope :non_subscriber, state: :non_subscriber
15
- scope :past_due, state: :past_due
16
-
17
- # @return [Pager<Adjustment>, []] A pager that yields Adjustments for persisted
18
- has_many :adjustments
19
-
20
- # @return [Pager<Invoice>, []] A pager that yields Invoices for persisted
21
- has_many :invoices
22
-
23
- # @return [Pager<Subscription>, []] A pager that yields Subscriptions for persisted
24
- has_many :subscriptions
25
-
26
- # @return [Pager<Transaction>, []] A pager that yields Transaction for persisted
27
- has_many :transactions
28
-
29
- # @return [Pager<Note>, []] A pager that yields Note for persisted
30
- has_many :notes
31
-
32
- # @return [Pager<Redemption>, []] A pager that yields Redemptions for persisted
33
- has_many :redemptions
34
-
35
- # @return [Pager<ShippingAddress>, [ShippingAddress], []] A pager that yields ShippingAddresses;
36
- # or a list of ShippingAddresses if set by the programmer
37
- has_many :shipping_addresses, readonly: false
38
-
39
- # @return [BillingInfo, nil]
40
- has_one :billing_info, readonly: false
41
-
42
- # @return [AccountBalance, nil]
43
- has_one :account_balance, readonly: true
44
-
45
- # @return [Account, nil]
46
- belongs_to :parent_account, class_name: :Account
47
-
48
- # @return [Pager<Account>, []] A pager that yields Account for persisted
49
- has_many :child_accounts, class_name: :Account
50
-
51
- # @return [Pager<CreditPayment>, []]
52
- has_many :credit_payments, class_name: :CreditPayment, readonly: true
53
-
54
- # @return [[CustomField], []]
55
- has_many :custom_fields, class_name: :CustomField, readonly: false
56
-
57
- # @return [AccountAcquisition, nil]
58
- has_one :account_acquisition, class_name: :AccountAcquisition, readonly: false
59
-
60
- # Get's the first redemption given a coupon code
61
- # @deprecated Use #{redemptions} instead
62
- # @param coupon_code [String] The coupon code for the redemption
63
- def redemption(coupon_code)
64
- redemptions.detect { |r| r.coupon_code == coupon_code }
65
- end
66
-
67
- define_attribute_methods %w(
68
- account_code
69
- parent_account_code
70
- state
71
- username
72
- email
73
- cc_emails
74
- first_name
75
- last_name
76
- company_name
77
- company
78
- phone
79
- accept_language
80
- hosted_login_token
81
- vat_number
82
- address
83
- tax_exempt
84
- exemption_certificate
85
- entity_use_code
86
- created_at
87
- updated_at
88
- closed_at
89
- vat_location_valid
90
- has_live_subscription
91
- has_active_subscription
92
- has_future_subscription
93
- has_canceled_subscription
94
- has_past_due_invoice
95
- has_paused_subscription
96
- preferred_locale
97
- transaction_type
98
- )
99
- alias to_param account_code
100
-
101
- def company_name
102
- super || company
103
- end
104
-
105
- # Creates an invoice from the pending charges on the account.
106
- # Raises an error if it fails.
107
- #
108
- # @return [InvoiceCollection] A newly-created invoice.
109
- # @raise [Invalid] Raised if the account cannot be invoiced.
110
- def invoice!(attrs={})
111
- InvoiceCollection.from_response API.post(invoices.uri, attrs.empty? ? nil : Invoice.to_xml(attrs))
112
- rescue Recurly::API::UnprocessableEntity => e
113
- raise Invalid, e.message
114
- end
115
-
116
- # Builds an invoice from the pending charges on the account but does not persist the invoice.
117
- # Raises an error if it fails.
118
- #
119
- # @return [InvoiceCollection] The newly-built invoice that has not been persisted.
120
- # @raise [Invalid] Raised if the account cannot be invoiced.
121
- def build_invoice
122
- InvoiceCollection.from_response API.post("#{invoices.uri}/preview")
123
- rescue Recurly::API::UnprocessableEntity => e
124
- raise Invalid, e.message
125
- end
126
-
127
- def create_billing_info(billing_info)
128
- billing_info = billing_info
129
- billing_info.uri = "#{path}/billing_infos"
130
- billing_info.save!
131
- billing_info
132
- end
133
-
134
- def get_billing_infos
135
- Pager.new(Recurly::BillingInfo, uri: "#{path}/billing_infos", parent: self)
136
- rescue Recurly::API::UnprocessableEntity => e
137
- raise Invalid, e.message
138
- end
139
-
140
- def get_billing_info(billing_info_uuid)
141
- BillingInfo.from_response API.get("#{path}/billing_infos/#{billing_info_uuid}")
142
- rescue Recurly::API::UnprocessableEntity => e
143
- raise Invalid, e.message
144
- end
145
-
146
- # Reopen an account.
147
- #
148
- # @return [true, false] +true+ when successful, +false+ when unable to
149
- # (e.g., the account is already open), and may raise an exception if the
150
- # attempt fails.
151
- def reopen
152
- return false unless link? :reopen
153
- reload follow_link :reopen
154
- true
155
- end
156
-
157
- # Verify a cvv code for the account's billing info.
158
- #
159
- # @example
160
- # acct = Recurly::Account.find('benjamin-du-monde')
161
- # begin
162
- # # If successful, returned billing_info will contain
163
- # # updated billing info details.
164
- # billing_info = acct.verify_cvv!("504")
165
- # rescue Recurly::API::BadRequest => e
166
- # e.message # => "This credit card has too many cvv check attempts."
167
- # rescue Recurly::Transaction::Error => e
168
- # # this will be the errors coming back from gateway
169
- # e.transaction_error_code # => "fraud_security_code"
170
- # e.gateway_error_code # => "fraud"
171
- # rescue Recurly::Resource::Invalid => e
172
- # e.message # => "verification_value must be three digits"
173
- # end
174
- #
175
- # @param [String] verification_value The CVV code to check
176
- # @return [BillingInfo] The updated billing info
177
- # @raise [Recurly::Transaction::Error] A Transaction Error will be raised if the gateway declines
178
- # the cvv code.
179
- # @raise [API::BadRequest] A BadRequest error will be raised if you attempt to check too many times
180
- # and are locked out.
181
- # @raise [Resource::Invalid] An Invalid Error will be raised if you send an invalid request (such as
182
- # a value that is not a propert verification number).
183
- def verify_cvv!(verification_value)
184
- bi = BillingInfo.new(verification_value: verification_value)
185
- bi.uri = "#{path}/billing_info/verify_cvv"
186
- bi.save!
187
- bi
188
- end
189
-
190
- def changed_attributes
191
- attrs = super
192
- if address.respond_to?(:changed?) && address.changed?
193
- attrs['address'] = address
194
- end
195
- if custom_fields.any?(&:changed?)
196
- attrs['custom_fields'] = custom_fields.select(&:changed?)
197
- end
198
- attrs
199
- end
200
-
201
- private
202
-
203
- def xml_keys
204
- keys = super
205
- keys << 'account_code' if account_code? && !account_code_changed?
206
- keys.sort
207
- end
208
- end
209
- end