From 7155b0a2a512c5a2af137d9e94aacdcb77e2eb3b Mon Sep 17 00:00:00 2001 From: Brooke Kuhlmann Date: Wed, 10 Dec 2025 16:15:11 -0700 Subject: [PATCH] Added category contract Necessary to validate the Contracts API response. Milestone: minor --- lib/trmnl/api/container.rb | 1 + lib/trmnl/api/contracts/category.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 lib/trmnl/api/contracts/category.rb diff --git a/lib/trmnl/api/container.rb b/lib/trmnl/api/container.rb index 3bc4c88..88a75a8 100644 --- a/lib/trmnl/api/container.rb +++ b/lib/trmnl/api/container.rb @@ -20,6 +20,7 @@ module TRMNL end namespace :contracts do + register :category, Contracts::Category register :current_screen, Contracts::CurrentScreen register :display, Contracts::Display register :firmware, Contracts::Firmware diff --git a/lib/trmnl/api/contracts/category.rb b/lib/trmnl/api/contracts/category.rb new file mode 100644 index 0000000..04c75da --- /dev/null +++ b/lib/trmnl/api/contracts/category.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +require "dry/schema" + +module TRMNL + module API + module Contracts + # Validates API response. + Category = Dry::Schema.JSON { required(:data).array(:string) } + end + end +end