recurly 3.29.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.github/workflows/docs.yml +1 -1
  4. data/.github_changelog_generator +8 -0
  5. data/.travis.yml +13 -0
  6. data/CHANGELOG.md +202 -380
  7. data/CONTRIBUTING.md +0 -4
  8. data/GETTING_STARTED.md +20 -17
  9. data/README.md +0 -3
  10. data/lib/recurly/client/operations.rb +778 -662
  11. data/lib/recurly/client.rb +44 -28
  12. data/lib/recurly/errors/api_errors.rb +3 -2
  13. data/lib/recurly/errors.rb +5 -23
  14. data/lib/recurly/pager.rb +5 -15
  15. data/lib/recurly/requests/{account_acquisition_updatable.rb → account_acquisition_update.rb} +1 -1
  16. data/lib/recurly/requests/account_create.rb +2 -14
  17. data/lib/recurly/requests/account_purchase.rb +2 -14
  18. data/lib/recurly/requests/account_update.rb +0 -12
  19. data/lib/recurly/requests/add_on_create.rb +4 -4
  20. data/lib/recurly/requests/add_on_pricing.rb +5 -5
  21. data/lib/recurly/requests/add_on_update.rb +2 -2
  22. data/lib/recurly/requests/address.rb +1 -13
  23. data/lib/recurly/requests/billing_info_create.rb +3 -47
  24. data/lib/recurly/requests/coupon_create.rb +1 -1
  25. data/lib/recurly/requests/external_transaction.rb +1 -1
  26. data/lib/recurly/requests/invoice_address.rb +1 -5
  27. data/lib/recurly/requests/invoice_collect.rb +1 -1
  28. data/lib/recurly/requests/{invoice_updatable.rb → invoice_update.rb} +1 -1
  29. data/lib/recurly/requests/line_item_create.rb +2 -10
  30. data/lib/recurly/requests/line_item_refund.rb +0 -4
  31. data/lib/recurly/requests/plan_create.rb +0 -16
  32. data/lib/recurly/requests/plan_pricing.rb +1 -5
  33. data/lib/recurly/requests/plan_update.rb +0 -12
  34. data/lib/recurly/requests/pricing.rb +0 -4
  35. data/lib/recurly/requests/purchase_create.rb +1 -1
  36. data/lib/recurly/requests/shipping_address_create.rb +1 -5
  37. data/lib/recurly/requests/shipping_address_update.rb +1 -5
  38. data/lib/recurly/requests/subscription_add_on_create.rb +8 -4
  39. data/lib/recurly/requests/subscription_add_on_tier.rb +5 -1
  40. data/lib/recurly/requests/subscription_add_on_update.rb +6 -2
  41. data/lib/recurly/requests/subscription_change_create.rb +1 -13
  42. data/lib/recurly/requests/subscription_create.rb +5 -13
  43. data/lib/recurly/requests/subscription_pause.rb +1 -1
  44. data/lib/recurly/requests/subscription_purchase.rb +2 -10
  45. data/lib/recurly/requests/subscription_update.rb +1 -5
  46. data/lib/recurly/requests/tier.rb +2 -2
  47. data/lib/recurly/requests/{plan_ramp_pricing.rb → tier_pricing.rb} +6 -2
  48. data/lib/recurly/requests/usage_create.rb +1 -1
  49. data/lib/recurly/resources/account.rb +0 -12
  50. data/lib/recurly/resources/account_balance_amount.rb +0 -8
  51. data/lib/recurly/resources/account_mini.rb +0 -4
  52. data/lib/recurly/resources/add_on.rb +1 -1
  53. data/lib/recurly/resources/add_on_pricing.rb +5 -5
  54. data/lib/recurly/resources/address.rb +1 -13
  55. data/lib/recurly/resources/address_with_name.rb +46 -0
  56. data/lib/recurly/resources/billing_info.rb +1 -5
  57. data/lib/recurly/resources/billing_info_updated_by.rb +1 -1
  58. data/lib/recurly/resources/coupon.rb +5 -17
  59. data/lib/recurly/resources/custom_field_definition.rb +1 -1
  60. data/lib/recurly/resources/invoice.rb +8 -12
  61. data/lib/recurly/resources/invoice_address.rb +1 -5
  62. data/lib/recurly/resources/line_item.rb +7 -23
  63. data/lib/recurly/resources/payment_method.rb +0 -12
  64. data/lib/recurly/resources/plan.rb +1 -17
  65. data/lib/recurly/resources/plan_pricing.rb +1 -5
  66. data/lib/recurly/resources/pricing.rb +0 -4
  67. data/lib/recurly/resources/shipping_address.rb +1 -5
  68. data/lib/recurly/resources/subscription.rb +0 -12
  69. data/lib/recurly/resources/subscription_add_on.rb +6 -2
  70. data/lib/recurly/resources/subscription_add_on_tier.rb +5 -1
  71. data/lib/recurly/resources/subscription_change.rb +0 -16
  72. data/lib/recurly/resources/tax_info.rb +3 -7
  73. data/lib/recurly/resources/tier.rb +2 -2
  74. data/lib/recurly/resources/{plan_ramp_pricing.rb → tier_pricing.rb} +6 -2
  75. data/lib/recurly/resources/transaction.rb +3 -7
  76. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  77. data/lib/recurly/resources/usage.rb +6 -2
  78. data/lib/recurly/version.rb +1 -1
  79. data/openapi/api.yaml +2028 -3132
  80. data/scripts/build +2 -2
  81. data/scripts/bump +11 -0
  82. data/scripts/changelog +14 -0
  83. data/scripts/format +2 -2
  84. data/scripts/prepare-release +29 -43
  85. data/scripts/release +20 -5
  86. metadata +17 -33
  87. data/.changelog_config.yaml +0 -11
  88. data/.github/workflows/ci.yml +0 -29
  89. data/.github/workflows/pr-review.yml +0 -27
  90. data/CODE_OF_CONDUCT.md +0 -130
  91. data/lib/recurly/errors/network_errors.rb +0 -10
  92. data/lib/recurly/requests/billing_info_verify.rb +0 -14
  93. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +0 -18
  94. data/lib/recurly/requests/gateway_attributes.rb +0 -14
  95. data/lib/recurly/requests/plan_ramp_interval.rb +0 -18
  96. data/lib/recurly/requests/subscription_change_billing_info_create.rb +0 -14
  97. data/lib/recurly/requests/subscription_ramp_interval.rb +0 -18
  98. data/lib/recurly/resources/dunning_campaign.rb +0 -50
  99. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +0 -18
  100. data/lib/recurly/resources/dunning_cycle.rb +0 -58
  101. data/lib/recurly/resources/dunning_interval.rb +0 -18
  102. data/lib/recurly/resources/gateway_attributes.rb +0 -14
  103. data/lib/recurly/resources/line_item_list.rb +0 -26
  104. data/lib/recurly/resources/plan_ramp_interval.rb +0 -18
  105. data/lib/recurly/resources/subscription_change_billing_info.rb +0 -14
  106. data/lib/recurly/resources/subscription_change_preview.rb +0 -90
  107. data/lib/recurly/resources/subscription_ramp_interval_response.rb +0 -30
  108. data/lib/recurly/resources/tax_detail.rb +0 -38
data/CONTRIBUTING.md CHANGED
@@ -7,10 +7,6 @@ however, we may not get to these right away. Although we try to be quick, our pr
7
7
  writing code. If you want a timely response (especially if you have an emergency), we recommend
8
8
  you contact our [official support team](https://support.recurly.com/).
9
9
 
10
- ## Code of Conduct
11
-
12
- Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
13
-
14
10
  #### Table Of Contents
15
11
 
16
12
  * [I don't want to read this whole thing, I just have a question!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question)
data/GETTING_STARTED.md CHANGED
@@ -5,7 +5,7 @@ This repository houses the official ruby client for Recurly's V3 API.
5
5
  In your Gemfile, add `recurly` as a dependency.
6
6
 
7
7
  ```ruby
8
- gem 'recurly', '~> 3.29'
8
+ gem 'recurly', '~> 4.0'
9
9
  ```
10
10
 
11
11
  > *Note*: We try to follow [semantic versioning](https://semver.org/) and will only apply breaking changes to major versions.
@@ -106,17 +106,19 @@ plans.each_page.each_with_index do |data, page_num|
106
106
  end
107
107
  ```
108
108
 
109
- Pagination endpoints take a number of options to sort and filter the results. They can be passed in as keyword arguments.
109
+ Pagination endpoints take a number of options to sort and filter the results. They can be passed in as a hash provided by the `:params` keyword argument.
110
110
  The names, types, and descriptions of these arguments are listed in the rubydocs for each method:
111
111
 
112
112
  ```ruby
113
113
  options = {
114
- limit: 200, # number of items per page
115
- state: :active, # only active plans
116
- sort: :updated_at,
117
- order: :asc,
118
- begin_time: DateTime.new(2017,1,1), # January 1st 2017,
119
- end_time: DateTime.now
114
+ params: {
115
+ limit: 200, # number of items per page
116
+ state: :active, # only active plans
117
+ sort: :updated_at,
118
+ order: :asc,
119
+ begin_time: DateTime.new(2017,1,1), # January 1st 2017,
120
+ end_time: DateTime.now
121
+ }
120
122
  }
121
123
 
122
124
  plans = client.list_plans(**options)
@@ -200,12 +202,11 @@ plan = client.create_plan(body: plan_data)
200
202
 
201
203
  # Error Handling
202
204
 
203
- This library currently throws 2 types of exceptions. {Recurly::Errors::APIError} and {Recurly::Errors::NetworkError}. See these 2 files for the types of exceptions you can catch:
205
+ All errors thrown by this library are based off of the `Recurly::Errors::APIError`. There
204
206
 
205
- 1. [API Errors](./lib/recurly/errors/api_errors.rb)
206
- 2. [Network Errors](./lib/recurly/errors/network_errors.rb)
207
+ This library throws one main type of exception, `Recurly::Errors::APIError`. There exists an additional hierarchy of errors to facilitate the process of rescuing various classes of errors. More detail can be found in the [Api Errors Module](./lib/recurly/errors/api_errors.rb).
207
208
 
208
- You will normally be working with {Recurly::Errors::APIError}. You can catch specific or generic versions of these exceptions. Example:
209
+ You can catch specific or generic versions of these exceptions. Example:
209
210
 
210
211
  ```ruby
211
212
  begin
@@ -233,15 +234,17 @@ rescue Recurly::Errors::ValidationError => ex
233
234
  #=> #<Recurly::Error:0x007fbbdf8a32c8 @attributes={:type=>"validation", :message=>"Code 'iexistalready' already exists", :params=>[{"param"=>"code", "message"=>"'iexistalready' already exists"}]}>
234
235
  puts ex.status_code
235
236
  #=> 422
237
+ rescue Recurly::Errors::TimeoutError => ex
238
+ # catch a specific server error
239
+ rescue Recurly::Errors::ServerError => ex
240
+ # catch a generic server error
236
241
  rescue Recurly::Errors::APIError => ex
237
242
  # catch a generic api error
238
- rescue Recurly::Errors::TimeoutError => ex
239
- # catch a specific network error
240
- rescue Recurly::Errors::NetworkError => ex
241
- # catch a generic network error
242
243
  end
243
244
  ```
244
245
 
246
+ `Recurly::Errors::APIError` instances provide access to the response via the `#get_response` method.
247
+
245
248
  # HTTP Metadata
246
249
 
247
250
  Sometimes you might want to get some additional information about the underlying HTTP request and response. Instead of
@@ -266,7 +269,7 @@ response = @client.remove_line_item(
266
269
  line_item_id: "a959576b2b10b012"
267
270
  ).get_response
268
271
  ```
269
- And it can be captured on exceptions through the {Recurly::ApiError} object:
272
+ And it can be captured on exceptions through the {Recurly::APIError} object:
270
273
 
271
274
  ```ruby
272
275
  begin
data/README.md CHANGED
@@ -1,8 +1,5 @@
1
1
  # Recurly
2
2
 
3
- [![Rubygems](https://img.shields.io/static/v1?label=rubygems&message=recurly&color=purple)](https://rubygems.org/gems/recurly)
4
- [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
5
-
6
3
  This repository houses the official ruby client for Recurly's V3 API.
7
4
 
8
5
  > *Note*: