recurly 2.17.5 → 4.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +15 -0
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/ISSUE_TEMPLATE/bug-report.md +30 -0
  5. data/.github/ISSUE_TEMPLATE/question-or-other.md +10 -0
  6. data/.github/workflows/ci.yml +29 -0
  7. data/.github/workflows/docs.yml +28 -0
  8. data/.gitignore +15 -0
  9. data/.rspec +2 -0
  10. data/.yardopts +2 -0
  11. data/CHANGELOG.md +295 -0
  12. data/CODE_OF_CONDUCT.md +130 -0
  13. data/CONTRIBUTING.md +106 -0
  14. data/GETTING_STARTED.md +330 -0
  15. data/Gemfile +4 -0
  16. data/LICENSE.txt +21 -0
  17. data/README.md +9 -148
  18. data/Rakefile +6 -0
  19. data/benchmark.rb +16 -0
  20. data/lib/data/ca-certificates.crt +3466 -0
  21. data/lib/recurly/client/operations.rb +4079 -0
  22. data/lib/recurly/client.rb +400 -0
  23. data/lib/recurly/connection_pool.rb +42 -0
  24. data/lib/recurly/errors/api_errors.rb +90 -0
  25. data/lib/recurly/errors/network_errors.rb +7 -0
  26. data/lib/recurly/errors.rb +51 -0
  27. data/lib/recurly/http.rb +50 -0
  28. data/lib/recurly/pager.rb +136 -0
  29. data/lib/recurly/request.rb +31 -0
  30. data/lib/recurly/requests/account_acquisition_cost.rb +18 -0
  31. data/lib/recurly/requests/account_acquisition_update.rb +26 -0
  32. data/lib/recurly/requests/account_create.rb +98 -0
  33. data/lib/recurly/requests/account_purchase.rb +98 -0
  34. data/lib/recurly/requests/account_update.rb +86 -0
  35. data/lib/recurly/requests/add_on_create.rb +102 -0
  36. data/lib/recurly/requests/add_on_pricing.rb +26 -0
  37. data/lib/recurly/requests/add_on_update.rb +78 -0
  38. data/lib/recurly/requests/address.rb +38 -0
  39. data/lib/recurly/requests/billing_info_create.rb +134 -0
  40. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  41. data/lib/recurly/requests/coupon_bulk_create.rb +14 -0
  42. data/lib/recurly/requests/coupon_create.rb +102 -0
  43. data/lib/recurly/requests/coupon_pricing.rb +18 -0
  44. data/lib/recurly/requests/coupon_redemption_create.rb +22 -0
  45. data/lib/recurly/requests/coupon_update.rb +34 -0
  46. data/lib/recurly/requests/custom_field.rb +18 -0
  47. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +18 -0
  48. data/lib/recurly/requests/external_refund.rb +22 -0
  49. data/lib/recurly/requests/external_transaction.rb +26 -0
  50. data/lib/recurly/requests/invoice_address.rb +54 -0
  51. data/lib/recurly/requests/invoice_collect.rb +22 -0
  52. data/lib/recurly/requests/invoice_create.rb +42 -0
  53. data/lib/recurly/requests/invoice_refund.rb +34 -0
  54. data/lib/recurly/requests/invoice_update.rb +34 -0
  55. data/lib/recurly/requests/item_create.rb +58 -0
  56. data/lib/recurly/requests/item_update.rb +58 -0
  57. data/lib/recurly/requests/line_item_create.rb +86 -0
  58. data/lib/recurly/requests/line_item_refund.rb +22 -0
  59. data/lib/recurly/requests/measured_unit_create.rb +22 -0
  60. data/lib/recurly/requests/measured_unit_update.rb +22 -0
  61. data/lib/recurly/requests/percentage_tier.rb +18 -0
  62. data/lib/recurly/requests/percentage_tiers_by_currency.rb +18 -0
  63. data/lib/recurly/requests/plan_create.rb +102 -0
  64. data/lib/recurly/requests/plan_hosted_pages.rb +26 -0
  65. data/lib/recurly/requests/plan_pricing.rb +26 -0
  66. data/lib/recurly/requests/plan_update.rb +94 -0
  67. data/lib/recurly/requests/pricing.rb +22 -0
  68. data/lib/recurly/requests/purchase_create.rb +78 -0
  69. data/lib/recurly/requests/shipping_address_create.rb +62 -0
  70. data/lib/recurly/requests/shipping_address_update.rb +66 -0
  71. data/lib/recurly/requests/shipping_fee_create.rb +22 -0
  72. data/lib/recurly/requests/shipping_method_create.rb +26 -0
  73. data/lib/recurly/requests/shipping_method_update.rb +26 -0
  74. data/lib/recurly/requests/shipping_purchase.rb +22 -0
  75. data/lib/recurly/requests/subscription_add_on_create.rb +46 -0
  76. data/lib/recurly/requests/subscription_add_on_percentage_tier.rb +18 -0
  77. data/lib/recurly/requests/subscription_add_on_tier.rb +26 -0
  78. data/lib/recurly/requests/subscription_add_on_update.rb +50 -0
  79. data/lib/recurly/requests/subscription_cancel.rb +14 -0
  80. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  81. data/lib/recurly/requests/subscription_change_create.rb +74 -0
  82. data/lib/recurly/requests/subscription_change_shipping_create.rb +30 -0
  83. data/lib/recurly/requests/subscription_create.rb +114 -0
  84. data/lib/recurly/requests/subscription_pause.rb +14 -0
  85. data/lib/recurly/requests/subscription_purchase.rb +70 -0
  86. data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
  87. data/lib/recurly/requests/subscription_shipping_purchase.rb +22 -0
  88. data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
  89. data/lib/recurly/requests/subscription_update.rb +70 -0
  90. data/lib/recurly/requests/tier.rb +22 -0
  91. data/lib/recurly/requests/tier_pricing.rb +22 -0
  92. data/lib/recurly/requests/usage_create.rb +26 -0
  93. data/lib/recurly/requests.rb +8 -0
  94. data/lib/recurly/resource.rb +23 -1092
  95. data/lib/recurly/resources/account.rb +138 -0
  96. data/lib/recurly/resources/account_acquisition.rb +46 -0
  97. data/lib/recurly/resources/account_acquisition_cost.rb +18 -0
  98. data/lib/recurly/resources/account_balance.rb +26 -0
  99. data/lib/recurly/resources/account_balance_amount.rb +22 -0
  100. data/lib/recurly/resources/account_mini.rb +50 -0
  101. data/lib/recurly/resources/account_note.rb +34 -0
  102. data/lib/recurly/resources/add_on.rb +122 -0
  103. data/lib/recurly/resources/add_on_mini.rb +54 -0
  104. data/lib/recurly/resources/add_on_pricing.rb +26 -0
  105. data/lib/recurly/resources/address.rb +38 -0
  106. data/lib/recurly/resources/address_with_name.rb +46 -0
  107. data/lib/recurly/resources/billing_info.rb +74 -0
  108. data/lib/recurly/resources/billing_info_updated_by.rb +18 -0
  109. data/lib/recurly/resources/binary_file.rb +14 -0
  110. data/lib/recurly/resources/coupon.rb +126 -0
  111. data/lib/recurly/resources/coupon_discount.rb +26 -0
  112. data/lib/recurly/resources/coupon_discount_pricing.rb +18 -0
  113. data/lib/recurly/resources/coupon_discount_trial.rb +18 -0
  114. data/lib/recurly/resources/coupon_mini.rb +42 -0
  115. data/lib/recurly/resources/coupon_redemption.rb +54 -0
  116. data/lib/recurly/resources/coupon_redemption_mini.rb +34 -0
  117. data/lib/recurly/resources/credit_payment.rb +66 -0
  118. data/lib/recurly/resources/custom_field.rb +18 -0
  119. data/lib/recurly/resources/custom_field_definition.rb +50 -0
  120. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  121. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  122. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  123. data/lib/recurly/resources/dunning_interval.rb +18 -0
  124. data/lib/recurly/resources/error.rb +22 -0
  125. data/lib/recurly/resources/error_may_have_transaction.rb +26 -0
  126. data/lib/recurly/resources/export_dates.rb +18 -0
  127. data/lib/recurly/resources/export_file.rb +22 -0
  128. data/lib/recurly/resources/export_files.rb +18 -0
  129. data/lib/recurly/resources/fraud_info.rb +22 -0
  130. data/lib/recurly/resources/invoice.rb +162 -0
  131. data/lib/recurly/resources/invoice_address.rb +54 -0
  132. data/lib/recurly/resources/invoice_collection.rb +22 -0
  133. data/lib/recurly/resources/invoice_mini.rb +30 -0
  134. data/lib/recurly/resources/invoice_template.rb +34 -0
  135. data/lib/recurly/resources/item.rb +82 -0
  136. data/lib/recurly/resources/item_mini.rb +34 -0
  137. data/lib/recurly/resources/line_item.rb +206 -0
  138. data/lib/recurly/resources/measured_unit.rb +46 -0
  139. data/lib/recurly/resources/payment_method.rb +70 -0
  140. data/lib/recurly/resources/percentage_tier.rb +18 -0
  141. data/lib/recurly/resources/percentage_tiers_by_currency.rb +18 -0
  142. data/lib/recurly/resources/plan.rb +122 -0
  143. data/lib/recurly/resources/plan_hosted_pages.rb +26 -0
  144. data/lib/recurly/resources/plan_mini.rb +26 -0
  145. data/lib/recurly/resources/plan_pricing.rb +26 -0
  146. data/lib/recurly/resources/pricing.rb +22 -0
  147. data/lib/recurly/resources/settings.rb +22 -0
  148. data/lib/recurly/resources/shipping_address.rb +82 -0
  149. data/lib/recurly/resources/shipping_method.rb +46 -0
  150. data/lib/recurly/resources/shipping_method_mini.rb +26 -0
  151. data/lib/recurly/resources/site.rb +54 -0
  152. data/lib/recurly/resources/subscription.rb +198 -0
  153. data/lib/recurly/resources/subscription_add_on.rb +78 -0
  154. data/lib/recurly/resources/subscription_add_on_percentage_tier.rb +18 -0
  155. data/lib/recurly/resources/subscription_add_on_tier.rb +26 -0
  156. data/lib/recurly/resources/subscription_change.rb +82 -0
  157. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  158. data/lib/recurly/resources/subscription_shipping.rb +26 -0
  159. data/lib/recurly/resources/tax_detail.rb +26 -0
  160. data/lib/recurly/resources/tax_info.rb +26 -0
  161. data/lib/recurly/resources/tier.rb +22 -0
  162. data/lib/recurly/resources/tier_pricing.rb +22 -0
  163. data/lib/recurly/resources/transaction.rb +162 -0
  164. data/lib/recurly/resources/transaction_error.rb +38 -0
  165. data/lib/recurly/resources/transaction_payment_gateway.rb +26 -0
  166. data/lib/recurly/resources/unique_coupon_code.rb +50 -0
  167. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  168. data/lib/recurly/resources/usage.rb +78 -0
  169. data/lib/recurly/resources/user.rb +42 -0
  170. data/lib/recurly/resources.rb +18 -0
  171. data/lib/recurly/schema/file_parser.rb +13 -0
  172. data/lib/recurly/schema/json_parser.rb +72 -0
  173. data/lib/recurly/schema/request_caster.rb +60 -0
  174. data/lib/recurly/schema/resource_caster.rb +46 -0
  175. data/lib/recurly/schema/schema_factory.rb +48 -0
  176. data/lib/recurly/schema/schema_validator.rb +144 -0
  177. data/lib/recurly/schema.rb +156 -0
  178. data/lib/recurly/version.rb +1 -15
  179. data/lib/recurly.rb +15 -138
  180. data/openapi/api.yaml +22879 -0
  181. data/recurly.gemspec +39 -0
  182. data/scripts/build +5 -0
  183. data/scripts/clean +6 -0
  184. data/scripts/format +12 -0
  185. data/scripts/prepare-release +50 -0
  186. data/scripts/release +17 -0
  187. data/scripts/test +15 -0
  188. metadata +217 -217
  189. data/lib/recurly/account.rb +0 -179
  190. data/lib/recurly/account_balance.rb +0 -21
  191. data/lib/recurly/add_on.rb +0 -30
  192. data/lib/recurly/address.rb +0 -25
  193. data/lib/recurly/adjustment.rb +0 -76
  194. data/lib/recurly/api/errors.rb +0 -208
  195. data/lib/recurly/api/net_http_adapter.rb +0 -111
  196. data/lib/recurly/api.rb +0 -101
  197. data/lib/recurly/billing_info.rb +0 -80
  198. data/lib/recurly/coupon.rb +0 -134
  199. data/lib/recurly/credit_payment.rb +0 -32
  200. data/lib/recurly/custom_field.rb +0 -15
  201. data/lib/recurly/delivery.rb +0 -19
  202. data/lib/recurly/error.rb +0 -13
  203. data/lib/recurly/gift_card.rb +0 -82
  204. data/lib/recurly/helper.rb +0 -51
  205. data/lib/recurly/invoice.rb +0 -273
  206. data/lib/recurly/invoice_collection.rb +0 -14
  207. data/lib/recurly/js.rb +0 -14
  208. data/lib/recurly/juris_detail.rb +0 -14
  209. data/lib/recurly/measured_unit.rb +0 -16
  210. data/lib/recurly/money.rb +0 -120
  211. data/lib/recurly/note.rb +0 -14
  212. data/lib/recurly/plan.rb +0 -40
  213. data/lib/recurly/purchase.rb +0 -219
  214. data/lib/recurly/redemption.rb +0 -46
  215. data/lib/recurly/resource/association.rb +0 -16
  216. data/lib/recurly/resource/errors.rb +0 -20
  217. data/lib/recurly/resource/pager.rb +0 -313
  218. data/lib/recurly/shipping_address.rb +0 -26
  219. data/lib/recurly/subscription/add_ons.rb +0 -77
  220. data/lib/recurly/subscription.rb +0 -328
  221. data/lib/recurly/subscription_add_on.rb +0 -50
  222. data/lib/recurly/tax_detail.rb +0 -14
  223. data/lib/recurly/tax_type.rb +0 -12
  224. data/lib/recurly/transaction/errors.rb +0 -107
  225. data/lib/recurly/transaction.rb +0 -129
  226. data/lib/recurly/usage.rb +0 -28
  227. data/lib/recurly/webhook/account_notification.rb +0 -10
  228. data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
  229. data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
  230. data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
  231. data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
  232. data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
  233. data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
  234. data/lib/recurly/webhook/dunning_notification.rb +0 -14
  235. data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
  236. data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
  237. data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
  238. data/lib/recurly/webhook/gift_card_notification.rb +0 -8
  239. data/lib/recurly/webhook/invoice_notification.rb +0 -12
  240. data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
  241. data/lib/recurly/webhook/new_account_notification.rb +0 -6
  242. data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
  243. data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
  244. data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
  245. data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
  246. data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
  247. data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
  248. data/lib/recurly/webhook/new_usage_notification.rb +0 -8
  249. data/lib/recurly/webhook/notification.rb +0 -18
  250. data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
  251. data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
  252. data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
  253. data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
  254. data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
  255. data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
  256. data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
  257. data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
  258. data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
  259. data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
  260. data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
  261. data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
  262. data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
  263. data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
  264. data/lib/recurly/webhook/subscription_notification.rb +0 -12
  265. data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
  266. data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
  267. data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
  268. data/lib/recurly/webhook/transaction_notification.rb +0 -12
  269. data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
  270. data/lib/recurly/webhook/updated_account_notification.rb +0 -6
  271. data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
  272. data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
  273. data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
  274. data/lib/recurly/webhook/void_payment_notification.rb +0 -6
  275. data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
  276. data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
  277. data/lib/recurly/webhook.rb +0 -91
  278. data/lib/recurly/xml/nokogiri.rb +0 -60
  279. data/lib/recurly/xml/rexml.rb +0 -52
  280. data/lib/recurly/xml.rb +0 -122
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4728284a90311477585bd4e7a3cf2407c7d7a2001393c8024316edd0ddbae1c2
4
- data.tar.gz: 92753965d6071f9ed65ab002157fa4a54781a24d3000379289d65efe7cd2062c
3
+ metadata.gz: e6350d81107627313accb7813754e37e2e8c85156d1c0ae8d5d3c479c649347c
4
+ data.tar.gz: b7d579a7443eba62a85622ff0093ac611fee38cc9740e41755100a0d694e2cb2
5
5
  SHA512:
6
- metadata.gz: ce42d3196f35961c328f9bcc66dddaaebe0b7ce8cf1695e3d133ecfd07ce7f9c53b3bded7edb9ac3379179b5be46b3bcb7603423a0698a92a795e786c853c7e1
7
- data.tar.gz: 64c7477e0218508c7dedc7e390f7584466a0d7c61797a6841178b9b4b9848d589f34b84eb3e15e4d59637fc3a8517a13297acabcee62efe1a22bf811a332a03f
6
+ metadata.gz: 8d73edf3e7bc58f744c6efc71a659c256453f1c46b3d0ae3c74c3784b5ecf7a720b74d438a81f66f15cc145aba13dfaf6f3c24bdd2f42f8980182e3aa607b6ba
7
+ data.tar.gz: eeadb1726e33c8f011f2ab72eb1784881550bc39426ae299c139b788ed9031e12050e0b947bfa7db44623728475025f185e58f7700dbcbc2dfcb2342f92aad5c
data/.bumpversion.cfg ADDED
@@ -0,0 +1,15 @@
1
+ [bumpversion]
2
+ current_version = 4.18.0
3
+ parse = (?P<major>\d+)
4
+ \.(?P<minor>\d+)
5
+ \.(?P<patch>\d+)
6
+ serialize =
7
+ {major}.{minor}.{patch}
8
+
9
+ [bumpversion:part:build]
10
+
11
+ [bumpversion:file:lib/recurly/version.rb]
12
+
13
+ [bumpversion:file:GETTING_STARTED.md]
14
+ parse = (?P<major>\d+)\.(?P<minor>\d+)
15
+ serialize = {major}.{minor}
@@ -0,0 +1,11 @@
1
+ ---
2
+ owner: recurly
3
+ repo: recurly-client-ruby
4
+ tag_matcher: ^4\..*
5
+ required_issue_labels:
6
+ - V4
7
+ exclude_labels:
8
+ - bug?
9
+ - internal
10
+ - duplicate
11
+ - question
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: bug?
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ _Warning_: Github issues are not an official support channel for Recurly. If you have an urgent request we suggest you contact us through an official channel: support@recurly.com or https://recurly.zendesk.com
11
+
12
+ **Describe the bug**
13
+
14
+ A clear and concise description of what the bug is. Please include a full stack trace if available.
15
+
16
+ **To Reproduce**
17
+
18
+ Steps to reproduce the behavior.
19
+
20
+ If possible, please provide example code which we can run to reproduce the bug.
21
+ The faster we can reproduce the bug, the faster we can help you.
22
+
23
+ **Expected behavior**
24
+
25
+ A clear and concise description of what you expected to happen.
26
+
27
+ **Your Environment**
28
+
29
+ - Which version of this library are you using?
30
+ - Which version of ruby are you using?
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: Question or Other
3
+ about: A question or feature request
4
+ title: ''
5
+ labels: question
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ _Warning_: Github issues are not an official support channel for Recurly. If you have an urgent request we suggest you contact us through an official channel: support@recurly.com or https://recurly.zendesk.com
@@ -0,0 +1,29 @@
1
+ name: CI
2
+ on: [push]
3
+ concurrency:
4
+ group: ${{ github.ref }}
5
+ cancel-in-progress: true
6
+ jobs:
7
+ build:
8
+ runs-on: ubuntu-latest
9
+ name: Ruby ${{ matrix.ruby }} tests
10
+ strategy:
11
+ matrix:
12
+ ruby: [2.4, 2.5, 2.6, 2.7, 3.0]
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ - name: Setup ruby
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: ${{ matrix.ruby }}
19
+ - run: ./scripts/build
20
+ - run: ./scripts/test
21
+ buildall:
22
+ if: ${{ always() }}
23
+ runs-on: ubuntu-latest
24
+ name: Build (matrix)
25
+ needs: build
26
+ steps:
27
+ - name: Check build matrix status
28
+ if: ${{ needs.build.result != 'success' }}
29
+ run: exit 1
@@ -0,0 +1,28 @@
1
+ on:
2
+ release:
3
+ types:
4
+ - released
5
+ name: Documentation
6
+ jobs:
7
+ build:
8
+ name: Publish
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+
13
+ - uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: '2.6'
16
+
17
+ - name: Build Library and Docs
18
+ run: ./scripts/build
19
+
20
+ - name: Deploy
21
+ if: success()
22
+ uses: crazy-max/ghaction-github-pages@v1
23
+ with:
24
+ target_branch: gh-pages
25
+ build_dir: ./doc
26
+ env:
27
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28
+
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /bin/
6
+ /coverage/
7
+ /doc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
11
+
12
+ # rspec failure tracking
13
+ .rspec_status
14
+ *.gem
15
+ coverage
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format progress
2
+ --color
data/.yardopts ADDED
@@ -0,0 +1,2 @@
1
+ --readme GETTING_STARTED.md
2
+ - GETTING_STARTED.md
data/CHANGELOG.md ADDED
@@ -0,0 +1,295 @@
1
+ # Changelog
2
+
3
+ ## [4.18.0](https://github.com/recurly/recurly-client-ruby/tree/4.18.0) (2022-06-16)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.17.0...4.18.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 [#776](https://github.com/recurly/recurly-client-ruby/pull/776) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
14
+ ## [4.17.0](https://github.com/recurly/recurly-client-ruby/tree/4.17.0) (2022-04-15)
15
+
16
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.16.0...4.17.0)
17
+
18
+
19
+ **Merged Pull Requests**
20
+
21
+ - Generated Latest Changes for v2021-02-25 [#766](https://github.com/recurly/recurly-client-ruby/pull/766) ([recurly-integrations](https://github.com/recurly-integrations))
22
+
23
+
24
+
25
+ ## [4.16.0](https://github.com/recurly/recurly-client-ruby/tree/4.16.0) (2022-03-24)
26
+
27
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.15.0...4.16.0)
28
+
29
+
30
+ **Merged Pull Requests**
31
+
32
+ - Generated Latest Changes for v2021-02-25 (Percentage tiers feature) [#762](https://github.com/recurly/recurly-client-ruby/pull/762) ([recurly-integrations](https://github.com/recurly-integrations))
33
+
34
+
35
+
36
+ ## [4.15.0](https://github.com/recurly/recurly-client-ruby/tree/4.15.0) (2022-03-14)
37
+
38
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.14.0...4.15.0)
39
+
40
+
41
+ **Merged Pull Requests**
42
+
43
+ - Generated Latest Changes for v2021-02-25 (Percentage tiers feature) [#757](https://github.com/recurly/recurly-client-ruby/pull/757) ([recurly-integrations](https://github.com/recurly-integrations))
44
+
45
+
46
+
47
+ ## [4.14.0](https://github.com/recurly/recurly-client-ruby/tree/4.14.0) (2022-03-03)
48
+
49
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.13.0...4.14.0)
50
+
51
+
52
+ **Merged Pull Requests**
53
+
54
+ - Generated Latest Changes for v2021-02-25 [#753](https://github.com/recurly/recurly-client-ruby/pull/753) ([recurly-integrations](https://github.com/recurly-integrations))
55
+
56
+
57
+
58
+ ## [4.13.0](https://github.com/recurly/recurly-client-ruby/tree/4.13.0) (2022-01-31)
59
+
60
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.12.0...4.13.0)
61
+
62
+
63
+ **Merged Pull Requests**
64
+
65
+ - Generated Latest Changes for v2021-02-25 [#747](https://github.com/recurly/recurly-client-ruby/pull/747) ([recurly-integrations](https://github.com/recurly-integrations))
66
+ - Add region argument to client to connect in EU data center [#744](https://github.com/recurly/recurly-client-ruby/pull/744) ([FabricioCoutinho](https://github.com/FabricioCoutinho))
67
+
68
+
69
+
70
+ ## [4.12.0](https://github.com/recurly/recurly-client-ruby/tree/4.12.0) (2022-01-28)
71
+
72
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.11.0...4.12.0)
73
+
74
+
75
+ **Merged Pull Requests**
76
+
77
+ - Generated Latest Changes for v2021-02-25 (Invoice Customization) [#746](https://github.com/recurly/recurly-client-ruby/pull/746) ([recurly-integrations](https://github.com/recurly-integrations))
78
+ - Generated Latest Changes for v2021-02-25 [#743](https://github.com/recurly/recurly-client-ruby/pull/743) ([recurly-integrations](https://github.com/recurly-integrations))
79
+
80
+
81
+
82
+ ## [4.11.0](https://github.com/recurly/recurly-client-ruby/tree/4.11.0) (2021-12-29)
83
+
84
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.10.0...4.11.0)
85
+
86
+
87
+ **Merged Pull Requests**
88
+
89
+ - Generated Latest Changes for v2021-02-25 (Tax Inclusive Pricing) [#741](https://github.com/recurly/recurly-client-ruby/pull/741) ([recurly-integrations](https://github.com/recurly-integrations))
90
+
91
+
92
+
93
+ ## [4.10.0](https://github.com/recurly/recurly-client-ruby/tree/4.10.0) (2021-11-22)
94
+
95
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.9.0...4.10.0)
96
+
97
+
98
+ **Merged Pull Requests**
99
+
100
+ - Generated Latest Changes for v2021-02-25 [#739](https://github.com/recurly/recurly-client-ruby/pull/739) ([recurly-integrations](https://github.com/recurly-integrations))
101
+ - Generated Latest Changes for v2021-02-25 [#736](https://github.com/recurly/recurly-client-ruby/pull/736) ([recurly-integrations](https://github.com/recurly-integrations))
102
+ - Allow API base url configuration [#735](https://github.com/recurly/recurly-client-ruby/pull/735) ([cbarton](https://github.com/cbarton))
103
+ - Generated Latest Changes for v2021-02-25 [#734](https://github.com/recurly/recurly-client-ruby/pull/734) ([recurly-integrations](https://github.com/recurly-integrations))
104
+ - Generated Latest Changes for v2021-02-25 [#728](https://github.com/recurly/recurly-client-ruby/pull/728) ([recurly-integrations](https://github.com/recurly-integrations))
105
+
106
+
107
+
108
+ ## [4.9.0](https://github.com/recurly/recurly-client-ruby/tree/4.9.0) (2021-09-16)
109
+
110
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.8.0...4.9.0)
111
+
112
+
113
+ **Merged Pull Requests**
114
+
115
+ - Generated Latest Changes for v2021-02-25 (Support to new subscription fields and response) [#725](https://github.com/recurly/recurly-client-ruby/pull/725) ([recurly-integrations](https://github.com/recurly-integrations))
116
+
117
+
118
+
119
+ ## [4.8.0](https://github.com/recurly/recurly-client-ruby/tree/4.8.0) (2021-09-01)
120
+
121
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.7.0...4.8.0)
122
+
123
+
124
+ **Merged Pull Requests**
125
+
126
+ - Generated Latest Changes for v2021-02-25 (Dunning Campaigns feature) [#724](https://github.com/recurly/recurly-client-ruby/pull/724) ([recurly-integrations](https://github.com/recurly-integrations))
127
+
128
+
129
+
130
+ ## [4.7.0](https://github.com/recurly/recurly-client-ruby/tree/4.7.0) (2021-08-19)
131
+
132
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.6.0...4.7.0)
133
+
134
+
135
+ **Merged Pull Requests**
136
+
137
+ - Generated Latest Changes for v2021-02-25 (get_preview_renewal) [#722](https://github.com/recurly/recurly-client-ruby/pull/722) ([recurly-integrations](https://github.com/recurly-integrations))
138
+
139
+
140
+
141
+ ## [4.6.0](https://github.com/recurly/recurly-client-ruby/tree/4.6.0) (2021-08-11)
142
+
143
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.5.0...4.6.0)
144
+
145
+
146
+ **Merged Pull Requests**
147
+
148
+ - Generated Latest Changes for v2021-02-25 [#720](https://github.com/recurly/recurly-client-ruby/pull/720) ([recurly-integrations](https://github.com/recurly-integrations))
149
+
150
+
151
+
152
+ ## [4.5.0](https://github.com/recurly/recurly-client-ruby/tree/4.5.0) (2021-08-02)
153
+
154
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.4.0...4.5.0)
155
+
156
+
157
+ **Merged Pull Requests**
158
+
159
+ - Generated Latest Changes for v2021-02-25 [#714](https://github.com/recurly/recurly-client-ruby/pull/714) ([recurly-integrations](https://github.com/recurly-integrations))
160
+
161
+
162
+
163
+ ## [4.4.0](https://github.com/recurly/recurly-client-ruby/tree/4.4.0) (2021-06-15)
164
+
165
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.3.0...4.4.0)
166
+
167
+
168
+ **Merged Pull Requests**
169
+
170
+ - Generated Latest Changes for v2021-02-25 [#705](https://github.com/recurly/recurly-client-ruby/pull/705) ([recurly-integrations](https://github.com/recurly-integrations))
171
+
172
+
173
+
174
+ ## [4.3.0](https://github.com/recurly/recurly-client-ruby/tree/4.3.0) (2021-06-04)
175
+
176
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.2.0...4.3.0)
177
+
178
+
179
+ **Merged Pull Requests**
180
+
181
+ - Generated Latest Changes for v2021-02-25 [#702](https://github.com/recurly/recurly-client-ruby/pull/702) ([recurly-integrations](https://github.com/recurly-integrations))
182
+ - Making #post allow a nil body [#699](https://github.com/recurly/recurly-client-ruby/pull/699) ([douglasmiller](https://github.com/douglasmiller))
183
+
184
+
185
+
186
+ ## [4.2.0](https://github.com/recurly/recurly-client-ruby/tree/4.2.0) (2021-04-21)
187
+
188
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.1.0...4.2.0)
189
+
190
+
191
+ **Merged Pull Requests**
192
+
193
+ - Generated Latest Changes for v2021-02-25 [#695](https://github.com/recurly/recurly-client-ruby/pull/695) ([recurly-integrations](https://github.com/recurly-integrations))
194
+
195
+
196
+
197
+ ## [4.1.0](https://github.com/recurly/recurly-client-ruby/tree/4.1.0) (2021-04-14)
198
+
199
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.0.1...4.1.0)
200
+
201
+
202
+ **Merged Pull Requests**
203
+
204
+ - Generated Latest Changes for v2021-02-25 (Backup Payment Method) [#691](https://github.com/recurly/recurly-client-ruby/pull/691) ([recurly-integrations](https://github.com/recurly-integrations))
205
+ - Generated Latest Changes for v2021-02-25 [#687](https://github.com/recurly/recurly-client-ruby/pull/687) ([recurly-integrations](https://github.com/recurly-integrations))
206
+ - Restoring NetworkError and it's derivatives [#685](https://github.com/recurly/recurly-client-ruby/pull/685) ([douglasmiller](https://github.com/douglasmiller))
207
+ - Generated Latest Changes for v2021-02-25 (Usage Percentage on Tiers) [#683](https://github.com/recurly/recurly-client-ruby/pull/683) ([recurly-integrations](https://github.com/recurly-integrations))
208
+ - Fixes TypeError caused by attempts to Base64 encode nil @api_key values [#672](https://github.com/recurly/recurly-client-ruby/pull/672) ([alexfulsome](https://github.com/alexfulsome))
209
+
210
+
211
+
212
+ ## [4.0.1](https://github.com/recurly/recurly-client-ruby/tree/4.0.1) (2021-03-19)
213
+
214
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.0.0...4.0.1)
215
+
216
+
217
+ **Merged Pull Requests**
218
+
219
+ - Release 4.0.1 [#682](https://github.com/recurly/recurly-client-ruby/pull/682) ([douglasmiller](https://github.com/douglasmiller))
220
+ - More ruby 3.0 [#680](https://github.com/recurly/recurly-client-ruby/pull/680) ([douglasmiller](https://github.com/douglasmiller))
221
+ - Generated Latest Changes for v2021-02-25 [#678](https://github.com/recurly/recurly-client-ruby/pull/678) ([recurly-integrations](https://github.com/recurly-integrations))
222
+ - Sync updates not ported from 3.x client [#671](https://github.com/recurly/recurly-client-ruby/pull/671) ([douglasmiller](https://github.com/douglasmiller))
223
+
224
+
225
+
226
+ ## [4.0.0](https://github.com/recurly/recurly-client-ruby/tree/4.0.0) (2021-03-01)
227
+
228
+
229
+ # Major Version Release
230
+
231
+ The 4.x major version of the client pairs with the `v2021-02-25` API version. This version of the client and the API contain breaking changes that should be considered before upgrading your integration.
232
+
233
+ ## Breaking Changes in the API
234
+ All changes to the core API are documented in the [Developer Portal changelog](https://developers.recurly.com/api/changelog.html#v2021-02-25---current-ga-version)
235
+
236
+ ## Breaking Changes in Client
237
+
238
+ - Remove `site_id` and `subdomain` from client initializer. [#624]
239
+ - Remove `set_site_id` method from client. [#627]
240
+ - Classify unexpected error responses from Recurly API via an HTTP status code mapping provided in `Recurly::Errors::ERROR_MAP`. [#616]
241
+ - Remove `NetworkError` class. All error classes now extend the `APIError`. This means that the order of multiple rescue blocks will need to be re-considered. [#616]
242
+
243
+ ### 3.x
244
+
245
+ ```ruby
246
+ rescue Recurly::Errors::ValidationError => ex
247
+ # catch a validation error
248
+ rescue Recurly::Errors::APIError => ex
249
+ # catch a generic api error
250
+ rescue Recurly::Errors::TimeoutError => ex
251
+ # catch a specific network error
252
+ ```
253
+
254
+ ### 4.x
255
+
256
+ ```ruby
257
+ rescue Recurly::Errors::ValidationError => ex
258
+ # catch a validation error
259
+ rescue Recurly::Errors::TimeoutError => ex
260
+ # catch a specific network error
261
+ rescue Recurly::Errors::APIError => ex
262
+ # catch a generic api error
263
+ ```
264
+
265
+ - Rename `InvalidResponseError` to `InvalidContentTypeError`. [#616]
266
+ - Rename `UnavailableError` to `ServiceUnavailableError`. [#616]
267
+ - Reorganize top-level keys of the optional parameters hash to improve clarity and create space for additional options. [#619]
268
+
269
+ ### 3.x
270
+
271
+ ```ruby
272
+ options = {
273
+ limit: 200,
274
+ headers: {
275
+ 'Accept-Language' => 'fr'
276
+ }
277
+ }
278
+ accounts = @client.list_accounts(options)
279
+ ```
280
+
281
+ ### 4.x
282
+
283
+ ```ruby
284
+ options = {
285
+ params: {
286
+ limit: 200
287
+ }
288
+ headers: {
289
+ 'Accept-Language' => 'fr'
290
+ }
291
+ }
292
+ accounts = @client.list_accounts(options)
293
+ ```
294
+
295
+
@@ -0,0 +1,130 @@
1
+
2
+ # Contributor Covenant Code of Conduct
3
+
4
+ ## Our Pledge
5
+
6
+ We as members, contributors, and leaders pledge to make participation in our
7
+ community a harassment-free experience for everyone, regardless of age, body
8
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
9
+ identity and expression, level of experience, education, socio-economic status,
10
+ nationality, personal appearance, race, religion, or sexual identity
11
+ and orientation.
12
+
13
+ We pledge to act and interact in ways that contribute to an open, welcoming,
14
+ diverse, inclusive, and healthy community.
15
+
16
+ ## Our Standards
17
+
18
+ Examples of behavior that contributes to a positive environment for our
19
+ community include:
20
+
21
+ * Demonstrating empathy and kindness toward other people
22
+ * Being respectful of differing opinions, viewpoints, and experiences
23
+ * Giving and gracefully accepting constructive feedback
24
+ * Accepting responsibility and apologizing to those affected by our mistakes,
25
+ and learning from the experience
26
+ * Focusing on what is best not just for us as individuals, but for the
27
+ overall community
28
+
29
+ Examples of unacceptable behavior include:
30
+
31
+ * The use of sexualized language or imagery, and sexual attention or
32
+ advances of any kind
33
+ * Trolling, insulting or derogatory comments, and personal or political attacks
34
+ * Public or private harassment
35
+ * Publishing others' private information, such as a physical or email
36
+ address, without their explicit permission
37
+ * Other conduct which could reasonably be considered inappropriate in a
38
+ professional setting
39
+
40
+ ## Enforcement Responsibilities
41
+
42
+ Community leaders are responsible for clarifying and enforcing our standards of
43
+ acceptable behavior and will take appropriate and fair corrective action in
44
+ response to any behavior that they deem inappropriate, threatening, offensive,
45
+ or harmful.
46
+
47
+ Community leaders have the right and responsibility to remove, edit, or reject
48
+ comments, commits, code, wiki edits, issues, and other contributions that are
49
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
50
+ decisions when appropriate.
51
+
52
+ ## Scope
53
+
54
+ This Code of Conduct applies within all community spaces, and also applies when
55
+ an individual is officially representing the community in public spaces.
56
+ Examples of representing our community include using an official e-mail address,
57
+ posting via an official social media account, or acting as an appointed
58
+ representative at an online or offline event.
59
+
60
+ ## Enforcement
61
+
62
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
63
+ reported to the community leaders responsible for enforcement at
64
+ dx@recurly.com.
65
+ All complaints will be reviewed and investigated promptly and fairly.
66
+
67
+ All community leaders are obligated to respect the privacy and security of the
68
+ reporter of any incident.
69
+
70
+ ## Enforcement Guidelines
71
+
72
+ Community leaders will follow these Community Impact Guidelines in determining
73
+ the consequences for any action they deem in violation of this Code of Conduct:
74
+
75
+ ### 1. Correction
76
+
77
+ **Community Impact**: Use of inappropriate language or other behavior deemed
78
+ unprofessional or unwelcome in the community.
79
+
80
+ **Consequence**: A private, written warning from community leaders, providing
81
+ clarity around the nature of the violation and an explanation of why the
82
+ behavior was inappropriate. A public apology may be requested.
83
+
84
+ ### 2. Warning
85
+
86
+ **Community Impact**: A violation through a single incident or series
87
+ of actions.
88
+
89
+ **Consequence**: A warning with consequences for continued behavior. No
90
+ interaction with the people involved, including unsolicited interaction with
91
+ those enforcing the Code of Conduct, for a specified period of time. This
92
+ includes avoiding interactions in community spaces as well as external channels
93
+ like social media. Violating these terms may lead to a temporary or
94
+ permanent ban.
95
+
96
+ ### 3. Temporary Ban
97
+
98
+ **Community Impact**: A serious violation of community standards, including
99
+ sustained inappropriate behavior.
100
+
101
+ **Consequence**: A temporary ban from any sort of interaction or public
102
+ communication with the community for a specified period of time. No public or
103
+ private interaction with the people involved, including unsolicited interaction
104
+ with those enforcing the Code of Conduct, is allowed during this period.
105
+ Violating these terms may lead to a permanent ban.
106
+
107
+ ### 4. Permanent Ban
108
+
109
+ **Community Impact**: Demonstrating a pattern of violation of community
110
+ standards, including sustained inappropriate behavior, harassment of an
111
+ individual, or aggression toward or disparagement of classes of individuals.
112
+
113
+ **Consequence**: A permanent ban from any sort of public interaction within
114
+ the community.
115
+
116
+ ## Attribution
117
+
118
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119
+ version 2.0, available at
120
+ https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
121
+
122
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct
123
+ enforcement ladder](https://github.com/mozilla/diversity).
124
+
125
+ [homepage]: https://www.contributor-covenant.org
126
+
127
+ For answers to common questions about this code of conduct, see the FAQ at
128
+ https://www.contributor-covenant.org/faq. Translations are available at
129
+ https://www.contributor-covenant.org/translations.
130
+