Upgrading Hyperclient
Upgrading to >= 0.5.0
Remove Navigational Elements
You can, but no longer need to invoke links, embedded, expand, attributes or resource in most cases. Simply remove them. Navigational structures like key.embedded.key can also be collapsed.
Here're a few examples:
| Instead Of | Write This |
|---|---|
api.links.widgets |
api.widgets |
api.links.widgets.embedded.widgets.first |
api.widgets.first |
api.links.widgets.embedded.comments |
api.widgets.comments |
api.links.widget.expand(id: 3) |
api.widget(id: 3) |
api.links.widget.expand(id: 3).resource.id |
api.widget(id: 3).id |
If you prefer to specify the complete HAL navigational structure, you must rename the methods to their new underscore equivalents. See below.
Change Naviational Elements and HTTP Verbs to Underscore Versions
Navigational methods and HTTP verbs have been renamed to their underscore versions and are otherwise treated as attributes.
| Instead Of | Write This |
|---|---|
api.links |
api._links |
api.links.widgets.embedded.widgets.first |
api._links.widgets._embedded.first |
api.links.widget.expand(id: 3).resource |
api._links.widget._expand(id: 3)._resource |
api.get |
api._get |
api.links.widgets.widget(id: 3).delete |
api._links.widget._expand(id: 3)._delete |
api.links.widgets.post(name: 'a widget') |
`api._links.widgets._post(name: 'a widget') |
api.links.widget.expand(id: 3).put(name: 'updated) |
api._links.widget._expand(id: 3)._put(name: 'updated') |
For more information see #63.