Necessary to log debug information and gracefully handle failures. Other errors might need to be tracked in the future but, for now, these are the most common.
Reek has been updated to ignore the logger `#call` method because keeping exception logic in a single place is nice for quick lookup. The data clump smell is also being ignored because we have to repeat passing in custom headers (at least for now).
RuboCop has also been updated to ignore the longer parameter list. This is an unfortunte side effect of the HTTP gem which uses multiple keyword arguments for making requests and so this design carries over into our implementation. Ignoring for now.
Milestone: minor
Necessary to perform API request, parse the response, validate the response, and hydrate into a whole value object for further processing.
Milestone: minor
Necessary to provide application wide access to the configuration which will soon be shared by the newly renamed requester and client (not implemented yet).
Milestone: minor
Necessary to make space for a new client object that will provide access to all API endpoints. The rename help denote that this object is purely for low level HTTP API requests.
Milestone: minor
Necessary to provide the primary client for making low-level API requests.
RuboCop and Reek issues have been marked for future consideration and improvement because these issues stem from Core's API (and subsequent Firmware design) and should be fixed in the Core/Firmware implementation first.