New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating 4.x client to expect query string params as ['params'] #619
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bhelx
approved these changes
Jul 29, 2020
douglasmiller
added a commit
that referenced
this pull request
Mar 1, 2021
# Changelog ## [Unreleased](https://github.com/recurly/recurly-client-ruby/tree/HEAD) [Full Changelog](3.18.1...HEAD) **Implemented enhancements:** - Remove site\_id and subdomain from client initializer [\#624](#624) ([joannasese](https://github.com/joannasese)) **Fixed bugs:** - Every method is returning wrong number of arguments [\#664](#664) **Merged pull requests:** - Updating changelog script and changelog generator config for 4.x release [\#663](#663) ([douglasmiller](https://github.com/douglasmiller)) - Removing unused method 'set\_site\_id' [\#627](#627) ([douglasmiller](https://github.com/douglasmiller)) - Updating 4.x client to expect query string params as \['params'\] [\#619](#619) ([douglasmiller](https://github.com/douglasmiller)) - Updating error mapping based on status code [\#616](#616) ([douglasmiller](https://github.com/douglasmiller))
Closed
douglasmiller
added a commit
that referenced
this pull request
Mar 1, 2021
# Changelog ## [Unreleased](https://github.com/recurly/recurly-client-ruby/tree/HEAD) [Full Changelog](3.18.1...HEAD) ## Breaking Changes - Remove `site_id` and `subdomain` from client initializer. [#624] - Remove `set_site_id` method from client. [#627] - Classify unexpected error responses from Recurly API via an HTTP status code mapping provided in `Recurly::Errors::ERROR_MAP`. [#616] - 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] ### 3.x ```ruby rescue Recurly::Errors::ValidationError => ex # catch a validation error rescue Recurly::Errors::APIError => ex # catch a generic api error rescue Recurly::Errors::TimeoutError => ex # catch a specific network error ``` ### 4.x ```ruby rescue Recurly::Errors::ValidationError => ex # catch a validation error rescue Recurly::Errors::TimeoutError => ex # catch a specific network error rescue Recurly::Errors::APIError => ex # catch a generic api error ``` - Rename `InvalidResponseError` to `InvalidContentTypeError`. [#616] - Rename `UnavailableError` to `ServiceUnavailableError`. [#616] - Reorganize top-level keys of the optional parameters hash to improve clarity and create space for additional options. [#619] ### 3.x ```ruby options = { limit: 200, headers: { 'Accept-Language' => 'fr' } } accounts = @client.list_accounts(options) ``` ### 4.x ```ruby options = { params: { limit: 200 } headers: { 'Accept-Language' => 'fr' } } accounts = @client.list_accounts(options) ``` **Implemented enhancements:** - Remove site\_id and subdomain from client initializer [\#624](#624) ([joannasese](https://github.com/joannasese)) **Fixed bugs:** - Every method is returning wrong number of arguments [\#664](#664) **Merged pull requests:** - Updating changelog script and changelog generator config for 4.x release [\#663](#663) ([douglasmiller](https://github.com/douglasmiller)) - Removing unused method 'set\_site\_id' [\#627](#627) ([douglasmiller](https://github.com/douglasmiller)) - Updating 4.x client to expect query string params as \['params'\] [\#619](#619) ([douglasmiller](https://github.com/douglasmiller)) - Updating error mapping based on status code [\#616](#616) ([douglasmiller](https://github.com/douglasmiller))
Merged
douglasmiller
added a commit
that referenced
this pull request
Mar 19, 2021
# Changelog ## [Unreleased](https://github.com/recurly/recurly-client-ruby/tree/HEAD) [Full Changelog](3.18.1...HEAD) # Major Version Release 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. ## Breaking Changes in the API 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) ## Breaking Changes in Client - Remove `site_id` and `subdomain` from client initializer. [#624] - Remove `set_site_id` method from client. [#627] - Classify unexpected error responses from Recurly API via an HTTP status code mapping provided in `Recurly::Errors::ERROR_MAP`. [#616] - 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] ### 3.x ```ruby rescue Recurly::Errors::ValidationError => ex # catch a validation error rescue Recurly::Errors::APIError => ex # catch a generic api error rescue Recurly::Errors::TimeoutError => ex # catch a specific network error ``` ### 4.x ```ruby rescue Recurly::Errors::ValidationError => ex # catch a validation error rescue Recurly::Errors::TimeoutError => ex # catch a specific network error rescue Recurly::Errors::APIError => ex # catch a generic api error ``` - Rename `InvalidResponseError` to `InvalidContentTypeError`. [#616] - Rename `UnavailableError` to `ServiceUnavailableError`. [#616] - Reorganize top-level keys of the optional parameters hash to improve clarity and create space for additional options. [#619] ### 3.x ```ruby options = { limit: 200, headers: { 'Accept-Language' => 'fr' } } accounts = @client.list_accounts(options) ``` ### 4.x ```ruby options = { params: { limit: 200 } headers: { 'Accept-Language' => 'fr' } } accounts = @client.list_accounts(options) ``` **Implemented enhancements:** - Remove site\_id and subdomain from client initializer [\#624](#624) ([joannasese](https://github.com/joannasese)) **Fixed bugs:** - Every method is returning wrong number of arguments [\#664](#664) **Merged pull requests:** - Sync updates not ported from 3.x client [\#671](#671) ([douglasmiller](https://github.com/douglasmiller)) - Release 4.0.0 [\#669](#669) ([douglasmiller](https://github.com/douglasmiller)) - Updating changelog script and changelog generator config for 4.x release [\#663](#663) ([douglasmiller](https://github.com/douglasmiller)) - Removing unused method 'set\_site\_id' [\#627](#627) ([douglasmiller](https://github.com/douglasmiller)) - Updating 4.x client to expect query string params as \['params'\] [\#619](#619) ([douglasmiller](https://github.com/douglasmiller)) - Updating error mapping based on status code [\#616](#616) ([douglasmiller](https://github.com/douglasmiller))
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an update for the
4.x
version of the client.This updates how optional parameters are specified in operations. In the
3.x
version of the client, optional parameters were specified an optional keyword arguments directly on each operation. This4.x
update moves these parameters into a hash whose key,:params
is an optional keyword argument on the operation.This is to facilitate additional options that may be passed into each operation (e.g.
:headers
for custom headers).The ability to specify custom headers was added to the
3.x
clients in #597, though this solution is not very future flexible.Existing
3.x
code sample:Updated
4.x
code sample: