32 Commits
Author SHA1 Message Date
Brooke Kuhlmann 410fa1d6bf Added model kind attribute
Necessary to pick up latest changes to the API where all models have a kind now.

Milestone: minor
2025-09-09 13:08:27 -06:00
Brooke Kuhlmann 8a52b829d0 Updated API URI
Necessary to switch to our main domain because nothing is automated for `trmnl.app` and always is behind the changes found on `usetrmnl.com`. This'll help reduce confusion and allow for updates to be tested more quickly for this project.

Milestone: minor
2025-09-09 13:08:27 -06:00
Brooke Kuhlmann 98269da386 Updated RSpec seed configuration
Necessary to ensure repeatable sequences of pseudo-random numbers between different runs of the test suite is used for the seed. This improves the ability to reliable rerun specs by using a more deterministic seed value.

Milestone: patch
2025-09-09 13:05:14 -06:00
Brooke Kuhlmann cbb7c2753e Updated RSpec coverage environment variable
The original `NO_COVERAGE` environment variable was awkward to read due to the double negative so `COVERAGE` is being used with an explicit "no" to disable. A message is printed to the console, when disabled, so there are no surprises.

Milestone: minor
2025-09-09 13:05:14 -06:00
Brooke Kuhlmann 3685770d07 Updated requester to log and fail SSL, connection, and timeout errors
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
2025-08-06 12:30:57 -06:00
Brooke Kuhlmann e9dd1aa4a9 Added client models endpoint
Necessary to provide access to the models endpoint via a single object.

Milestone: minor
2025-07-29 16:00:51 -06:00
Brooke Kuhlmann 388509d5dd Added model endpoint
Necessary to perform API request, parse the response, validate the response, and hydrate into a whole value object for further processing.

Milestone: minor
2025-07-29 16:00:51 -06:00
Brooke Kuhlmann 252a28ef30 Added model
Necessary to provide a whole value object as the output from the API response.

Milestone: minor
2025-07-29 16:00:51 -06:00
Brooke Kuhlmann dcf0e870fb Added model contract
Necessary to validate the HTTP response from the Core server.

Milestone: minor
2025-07-29 16:00:51 -06:00
Brooke Kuhlmann 9b47c7bae0 Added client custom inspection
Necessary to reduce verbosity of output when inspecting the client.

Milestone: minor
2025-05-19 08:21:40 -06:00
Brooke Kuhlmann 174d6ace3c Added endpoints custom inspection
Necessary to reduce object inspection verbosity especially with Dry Schema objects.

Milestone: minor
2025-05-19 08:21:40 -06:00
Brooke Kuhlmann 5b23be83ce Added RSpec shared endpoint examples
Necessary to a define shared example for all endpoints to reduce duplication. This'll soon be used in all endpoint specs.

Milestone: minor
2025-05-19 08:21:40 -06:00
Brooke Kuhlmann 8c7e3ffb6b Added primary Object API
Necessary to obtain an API client with access to all endpoints.

Milestone: minor
2025-05-05 17:00:55 -06:00
Brooke Kuhlmann 386a36e829 Added client
Necessary to provide a single object with access to all endpoints.

Milestone: minor
2025-05-05 17:00:55 -06:00
Brooke Kuhlmann 2f5938a808 Refactored requester to inject dependencies
Reduces duplication by injecting what is already registered.

Milestone: patch
2025-05-05 17:00:55 -06:00
Brooke Kuhlmann 175795b2b2 Added container settings registration
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
2025-05-05 17:00:55 -06:00
Brooke Kuhlmann 25086e5594 Updated client as requester
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
2025-05-05 17:00:55 -06:00
Brooke Kuhlmann 0e579ea701 Added setup endpoint
Necessary to handle the request and response of the setup API endpoint.
2025-04-22 14:24:34 -06:00
Brooke Kuhlmann f635aa4cd7 Added log endpoint
Necessary to handle the request and response of the log API endpoint.
2025-04-22 14:24:34 -06:00
Brooke Kuhlmann a941c8f180 Added firmware endpoint
Necessary to handle the request and response of the firmware API endpoint.
2025-04-22 14:24:34 -06:00
Brooke Kuhlmann 2da39573fc Added display endpoint
Necessary to handle the request and response of the display API endpoint.
2025-04-22 14:24:33 -06:00
Brooke Kuhlmann 9b6446c5bb Added current screen endpoint
Necessary to handle the request and response to the current screen API endpoint.
2025-04-22 14:24:33 -06:00
Brooke Kuhlmann 7c8db493fd Added application container
Necessary to register common application dependencies for potential injection as desired.
2025-04-22 14:24:33 -06:00
Brooke Kuhlmann 0dfdee3a9a Added setup model
Necessary to model the API response.
2025-04-22 14:24:33 -06:00
Brooke Kuhlmann 3d183df433 Added firmware model
Necessary to model the API response payload.
2025-04-22 14:24:33 -06:00