trmnl-api 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bcb09ea59c1cbe86f0258090074a66e73e085912a4aacd0439a5aa131d8688ad
4
- data.tar.gz: e2bbe53703db7d2c1bdad4594d75217aee1e8680a68e6c15962c3cd2f04f5218
3
+ metadata.gz: dedac6b2c46579d646be122b295be973bb3c39bbc35847da48d77f9ce2f506ae
4
+ data.tar.gz: dd7ec7571e0c2cc0f74c67bfc78c4e157b8590a8736913102e582959a85f920c
5
5
  SHA512:
6
- metadata.gz: a59f41ff8b9ec8924c66e35b211dcf3d42aabb26425a3467e6f9c2d1afc6cbf463d0710d6a5e3ae9c13eaddcfa75014831e5217feaf14ab6ed2cb9cd7cdb4cc8
7
- data.tar.gz: a12ef6cd9a48449b11dd00f718cf14f431f0e211080a04b763f3e0040ef54fc82ee2ccec30fd1d7a39383d82be94ba5566e4761b5fc8c3259a35751eb454edfd
6
+ metadata.gz: 4b18624c8fb2ec5c395a58824691d5da9a1495f8bc26fe41f1119de67cde3aa6d1d2ef4657a72a490e74db51343c7aceea5930887624cdb5c9ae3a7e1fb46f65
7
+ data.tar.gz: 91c83467a642383c7edf9ed5decd35b9514fbf45382a9574e39e4510dc48ac748bc70ae0cec6a218fa312652268968826cd2c65c216015d589564a6cd64c07dc
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -76,8 +76,8 @@ end
76
76
 
77
77
  You can configure the client via the following environment variables:
78
78
 
79
- * `TRMNL_API_CONTENT_TYPE`: Defines the HTTP `Content-Type` header. You shouldn't need to change this but is here if you need it. Default: "application/json".
80
- * `TRMNL_API_URI`: Defines the API URI. Default: "https://trmnl.app/api".
79
+ * `TRMNL_API_CONTENT_TYPE`: Defines the HTTP `Content-Type` header. You shouldn't need to change this but is here if you need it. Default: `"application/json"`.
80
+ * `TRMNL_API_URI`: Defines the API URI. Default: `"https://trmnl.app/api"`.
81
81
 
82
82
  Any/all environment changes will be applied unless you override these settings via the client configuration block shown above.
83
83
 
@@ -227,46 +227,61 @@ client = TRMNL::API.new
227
227
  client.models
228
228
 
229
229
  # Success(
230
- # #<data TRMNL::API::Models::Model
231
- # name="test",
232
- # label="Test",
233
- # description="A test.",
234
- # kind="trmnl",
235
- # colors=2,
236
- # bit_depth=1,
237
- # scale_factor=1,
238
- # rotation=90,
239
- # mime_type="image/png",
240
- # width=800,
241
- # height=480,
242
- # offset_x=10,
243
- # offset_y=15,
244
- # palette_ids=["bw"],
245
- # css: {
246
- # classes: {
247
- # device: "screen--og_png",
248
- # size: "screen--md"
249
- # },
250
- # variables: [
251
- # [
252
- # "--screen-w",
253
- # "800px"
254
- # ],
255
- # [
256
- # "--screen-h",
257
- # "480px"
258
- # ],
259
- # [
260
- # "--ui-scale",
261
- # "1.0"
262
- # ],
263
- # [
264
- # "--gap-scale",
265
- # "1.0"
266
- # ]
267
- # ]
268
- # }
269
- # >
230
+ # [
231
+ # #<Struct:TRMNL::API::Models::Model:0x00003c20
232
+ # bit_depth = 4,
233
+ # colors = 16,
234
+ # css = {
235
+ # classes: {
236
+ # density: "screen--density-2x",
237
+ # device: "screen--v2",
238
+ # size: "screen--lg"
239
+ # },
240
+ # variables: [
241
+ # [
242
+ # "--screen-w",
243
+ # "1040px"
244
+ # ],
245
+ # [
246
+ # "--screen-h",
247
+ # "780px"
248
+ # ],
249
+ # [
250
+ # "--pixel-ratio",
251
+ # "1.8"
252
+ # ],
253
+ # [
254
+ # "--dither-pixel-ratio",
255
+ # "2.0"
256
+ # ],
257
+ # [
258
+ # "--ui-scale",
259
+ # "1.0"
260
+ # ],
261
+ # [
262
+ # "--gap-scale",
263
+ # "1.0"
264
+ # ]
265
+ # ]
266
+ # },
267
+ # description = "TRMNL X",
268
+ # height = 1404,
269
+ # kind = "trmnl",
270
+ # label = "TRMNL X",
271
+ # mime_type = "image/png",
272
+ # name = "v2",
273
+ # offset_x = 0,
274
+ # offset_y = 0,
275
+ # palette_names = [
276
+ # "gray-16",
277
+ # "gray-4",
278
+ # "bw"
279
+ # ],
280
+ # rotation = 0,
281
+ # scale_factor = 1.8,
282
+ # width = 1872
283
+ # >
284
+ # ]
270
285
  # )
271
286
  ----
272
287
 
@@ -274,7 +289,7 @@ client.models
274
289
 
275
290
  ==== Palettes
276
291
 
277
- Allows you to obtain palettes details. The IDs correlate to the `palette_ids` as found in the Models API. Example:
292
+ Allows you to obtain palettes details. The names correlate to the `palette_names` as found in the Models API. Example:
278
293
 
279
294
  [source,ruby]
280
295
  ----
@@ -283,19 +298,30 @@ client.palettes
283
298
 
284
299
  Success(
285
300
  [
286
- #<data TRMNL::API::Models::Palette
287
- id="bw",
288
- name="Black & White (1-bit)",
289
- grays=2,
290
- colors=nil,
291
- framework_class="screen--1bit"
301
+ #<Struct:TRMNL::API::Models::Palette
302
+ name = "bw",
303
+ label = "Black & White (1-bit)",
304
+ grays = 2,
305
+ colors = [],
306
+ framework_class = "screen--1bit"
307
+ >,
308
+ #<Struct:TRMNL::API::Models::Palette
309
+ name = "color-3bwr",
310
+ label = "Color (3 colors)",
311
+ grays = 2,
312
+ colors = [
313
+ "#000000",
314
+ "#FF0000",
315
+ "#FFFFFF"
316
+ ],
317
+ framework_class = nil
292
318
  >,
293
- #<data TRMNL::API::Models::Palette
294
- id="color-24bit",
295
- name="Color (24-bit)",
296
- grays=nil,
297
- colors=nil,
298
- framework_class=""
319
+ #<Struct:TRMNL::API::Models::Palette
320
+ name = "color-24bit",
321
+ label = "Color (16777216 colors)",
322
+ grays = 2,
323
+ colors = [],
324
+ framework_class = nil
299
325
  >
300
326
  ]
301
327
  )
@@ -315,7 +341,7 @@ client.recipes search: "comic" # Answers first page of comics.
315
341
  client.recipes sort: "popularity" # Answers first page sorted by popularity.
316
342
 
317
343
  # Success(
318
- # #<data TRMNL::API::Models::Recipe:0x00010fc0
344
+ # #<data TRMNL::API::Models::Recipe
319
345
  # data = [
320
346
  # #<Struct:TRMNL::API::Models::Recipes::Data:0x00010fe0
321
347
  # author = #<Struct:TRMNL::API::Models::Recipes::Author:0x00010ff0
@@ -19,16 +19,16 @@ module TRMNL
19
19
  HTTP
20
20
  end
21
21
 
22
- namespace :contracts do
23
- register :category, Contracts::Category
24
- register :current_screen, Contracts::CurrentScreen
25
- register :display, Contracts::Display
26
- register :firmware, Contracts::Firmware
27
- register :ip_address, Contracts::IPAddress
28
- register :model, Contracts::Model
29
- register :palette, Contracts::Palette
30
- register :recipe, Contracts::Recipe
31
- register :setup, Contracts::Setup
22
+ namespace :schemas do
23
+ register :category, Schemas::Category
24
+ register :current_screen, Schemas::CurrentScreen
25
+ register :display, Schemas::Display
26
+ register :firmware, Schemas::Firmware
27
+ register :ip_address, Schemas::IPAddress
28
+ register :model, Schemas::Model
29
+ register :palette, Schemas::Palette
30
+ register :recipe, Schemas::Recipe
31
+ register :setup, Schemas::Setup
32
32
  end
33
33
 
34
34
  namespace :models do
@@ -8,16 +8,16 @@ module TRMNL
8
8
  module Endpoints
9
9
  # Handles API request/response.
10
10
  class Category
11
- include TRMNL::API::Dependencies[:requester, contract: "contracts.category"]
11
+ include TRMNL::API::Dependencies[:requester, schema: "schemas.category"]
12
12
 
13
- include Inspectable[contract: :type]
13
+ include Inspectable[schema: :type]
14
14
  include Pipeable
15
15
 
16
16
  def call
17
17
  pipe(
18
18
  requester.get("categories"),
19
19
  try(:parse, catch: JSON::ParserError),
20
- validate(contract, as: :to_h),
20
+ validate(schema, as: :to_h),
21
21
  as(:fetch, :data)
22
22
  )
23
23
  end
@@ -10,17 +10,17 @@ module TRMNL
10
10
  class CurrentScreen
11
11
  include TRMNL::API::Dependencies[
12
12
  :requester,
13
- contract: "contracts.current_screen",
13
+ schema: "schemas.current_screen",
14
14
  model: "models.current_screen"
15
15
  ]
16
16
 
17
- include Inspectable[contract: :type]
17
+ include Inspectable[schema: :type]
18
18
  include Pipeable
19
19
 
20
20
  def call token:
21
21
  pipe requester.get("current_screen", headers: {"Access-Token" => token}),
22
22
  try(:parse, catch: JSON::ParserError),
23
- validate(contract, as: :to_h),
23
+ validate(schema, as: :to_h),
24
24
  to(model, :for)
25
25
  end
26
26
  end
@@ -10,17 +10,17 @@ module TRMNL
10
10
  class Display
11
11
  include TRMNL::API::Dependencies[
12
12
  :requester,
13
- contract: "contracts.display",
13
+ schema: "schemas.display",
14
14
  model: "models.display"
15
15
  ]
16
16
 
17
- include Inspectable[contract: :type]
17
+ include Inspectable[schema: :type]
18
18
  include Pipeable
19
19
 
20
20
  def call token:
21
21
  pipe requester.get("display", headers: {"Access-Token" => token}),
22
22
  try(:parse, catch: JSON::ParserError),
23
- validate(contract, as: :to_h),
23
+ validate(schema, as: :to_h),
24
24
  to(model, :for)
25
25
  end
26
26
  end
@@ -10,17 +10,17 @@ module TRMNL
10
10
  class Firmware
11
11
  include TRMNL::API::Dependencies[
12
12
  :requester,
13
- contract: "contracts.firmware",
13
+ schema: "schemas.firmware",
14
14
  model: "models.firmware"
15
15
  ]
16
16
 
17
- include Inspectable[contract: :type]
17
+ include Inspectable[schema: :type]
18
18
  include Pipeable
19
19
 
20
20
  def call
21
21
  pipe requester.get("firmware/latest"),
22
22
  try(:parse, catch: JSON::ParserError),
23
- validate(contract, as: :to_h),
23
+ validate(schema, as: :to_h),
24
24
  to(model, :for)
25
25
  end
26
26
  end
@@ -10,17 +10,17 @@ module TRMNL
10
10
  class IPAddress
11
11
  include TRMNL::API::Dependencies[
12
12
  :requester,
13
- contract: "contracts.ip_address",
13
+ schema: "schemas.ip_address",
14
14
  model: "models.ip_address"
15
15
  ]
16
16
 
17
- include Inspectable[contract: :type]
17
+ include Inspectable[schema: :type]
18
18
  include Pipeable
19
19
 
20
20
  def call
21
21
  pipe requester.get("ips"),
22
22
  try(:parse, catch: JSON::ParserError),
23
- validate(contract, as: :to_h),
23
+ validate(schema, as: :to_h),
24
24
  as(:fetch, :data),
25
25
  to(model, :for)
26
26
  end
@@ -10,18 +10,18 @@ module TRMNL
10
10
  class Model
11
11
  include TRMNL::API::Dependencies[
12
12
  :requester,
13
- contract: "contracts.model",
13
+ schema: "schemas.model",
14
14
  model: "models.model"
15
15
  ]
16
16
 
17
- include Inspectable[contract: :type]
17
+ include Inspectable[schema: :type]
18
18
  include Pipeable
19
19
 
20
20
  def call
21
21
  pipe(
22
22
  requester.get("models"),
23
23
  try(:parse, catch: JSON::ParserError),
24
- validate(contract, as: :to_h),
24
+ validate(schema, as: :to_h),
25
25
  as(:fetch, :data),
26
26
  map { |data| model.for(**data) }
27
27
  )
@@ -10,18 +10,18 @@ module TRMNL
10
10
  class Palette
11
11
  include TRMNL::API::Dependencies[
12
12
  :requester,
13
- contract: "contracts.palette",
13
+ schema: "schemas.palette",
14
14
  model: "models.palette"
15
15
  ]
16
16
 
17
- include Inspectable[contract: :type]
17
+ include Inspectable[schema: :type]
18
18
  include Pipeable
19
19
 
20
20
  def call
21
21
  pipe(
22
22
  requester.get("palettes"),
23
23
  try(:parse, catch: JSON::ParserError),
24
- validate(contract, as: :to_h),
24
+ validate(schema, as: :to_h),
25
25
  as(:fetch, :data),
26
26
  map { |data| model.for(**data) }
27
27
  )
@@ -11,11 +11,11 @@ module TRMNL
11
11
  class Recipe
12
12
  include TRMNL::API::Dependencies[
13
13
  :requester,
14
- contract: "contracts.recipe",
14
+ schema: "schemas.recipe",
15
15
  model: "models.recipe"
16
16
  ]
17
17
 
18
- include Inspectable[contract: :type]
18
+ include Inspectable[schema: :type]
19
19
  include Pipeable
20
20
 
21
21
  using Refinements::Hash
@@ -26,7 +26,7 @@ module TRMNL
26
26
  pipe(
27
27
  requester.get("recipes.json", **parameters),
28
28
  try(:parse, catch: JSON::ParserError),
29
- validate(contract, as: :to_h),
29
+ validate(schema, as: :to_h),
30
30
  to(model, :for)
31
31
  )
32
32
  end
@@ -10,17 +10,17 @@ module TRMNL
10
10
  class Setup
11
11
  include TRMNL::API::Dependencies[
12
12
  :requester,
13
- contract: "contracts.setup",
13
+ schema: "schemas.setup",
14
14
  model: "models.setup"
15
15
  ]
16
16
 
17
- include Inspectable[contract: :type]
17
+ include Inspectable[schema: :type]
18
18
  include Pipeable
19
19
 
20
20
  def call id:
21
21
  pipe requester.get("setup", headers: {"ID" => id}),
22
22
  try(:parse, catch: JSON::ParserError),
23
- validate(contract, as: :to_h),
23
+ validate(schema, as: :to_h),
24
24
  to(model, :for)
25
25
  end
26
26
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "refinements/hash"
4
+
3
5
  module TRMNL
4
6
  module API
5
7
  module Models
@@ -18,10 +20,10 @@ module TRMNL
18
20
  :height,
19
21
  :offset_x,
20
22
  :offset_y,
21
- :palette_ids,
23
+ :palette_names,
22
24
  :css
23
25
  ) do
24
- def self.for(attributes) = new(**attributes)
26
+ def self.for(attributes) = new(**attributes.transform_keys(palette_ids: :palette_names))
25
27
 
26
28
  def initialize(**)
27
29
  super
@@ -34,6 +36,8 @@ module TRMNL
34
36
  private
35
37
 
36
38
  def apply_defaults
39
+ self[:palette_names] ||= []
40
+
37
41
  %i[colors bit_depth scale_factor rotation width height offset_x offset_y].each do |name|
38
42
  self[name] ||= 0
39
43
  end
@@ -1,11 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "refinements/hash"
4
+
3
5
  module TRMNL
4
6
  module API
5
7
  module Models
6
8
  # Models the data of the API response.
7
- Palette = Struct.new :id, :name, :grays, :colors, :framework_class do
8
- def self.for(attributes) = new(**attributes)
9
+ Palette = Struct.new :name, :label, :grays, :colors, :framework_class do
10
+ using Refinements::Hash
11
+
12
+ def self.for(attributes) = new(**attributes.transform_keys(name: :label, id: :name))
13
+
14
+ def initialize(**)
15
+ super
16
+ self[:grays] ||= 0
17
+ self[:colors] ||= []
18
+ freeze
19
+ end
9
20
  end
10
21
  end
11
22
  end
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  Category = Dry::Schema.JSON { required(:data).array(:string) }
10
10
  end
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  CurrentScreen = Dry::Schema.JSON do
10
10
  required(:refresh_rate).filled :integer
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  Display = Dry::Schema.JSON do
10
10
  required(:filename).filled :string
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  Firmware = Dry::Schema.JSON do
10
10
  required(:url).filled :string
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  IPAddress = Dry::Schema.JSON do
10
10
  required(:data).hash do
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  Model = Dry::Schema.JSON do
10
10
  required(:data).array(:hash) do
@@ -24,6 +24,7 @@ module TRMNL
24
24
  required(:palette_ids).array(:string)
25
25
  optional(:css).hash do
26
26
  optional(:classes).hash do
27
+ required(:density).filled :string
27
28
  required(:device).filled :string
28
29
  required(:size).filled :string
29
30
  end
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  Palette = Dry::Schema.JSON do
10
10
  required(:data).array(:hash) do
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  Recipe = Dry::Schema.JSON do
10
10
  required(:data).array(:hash) do
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  module Recipes
9
9
  # Validates API response.
10
10
  Author = Dry::Schema.JSON do
@@ -4,7 +4,7 @@ require "dry/schema"
4
4
 
5
5
  module TRMNL
6
6
  module API
7
- module Contracts
7
+ module Schemas
8
8
  # Validates API response.
9
9
  Setup = Dry::Schema.JSON do
10
10
  required(:api_key).filled :string
data/trmnl-api.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "trmnl-api"
5
- spec.version = "0.12.0"
5
+ spec.version = "0.14.0"
6
6
  spec.authors = ["TRMNL"]
7
7
  spec.email = ["engineering@trmnl.com"]
8
8
  spec.homepage = "https://github.com/usetrmnl/trmnl-api"
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trmnl-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TRMNL
@@ -9,9 +9,9 @@ bindir: bin
9
9
  cert_chain:
10
10
  - |
11
11
  -----BEGIN CERTIFICATE-----
12
- MIIENjCCAp6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
12
+ MIIENjCCAp6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
13
13
  a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
14
- aW8wHhcNMjUwMzIyMTQ1NDE3WhcNMjYwMzIyMTQ1NDE3WjBBMQ8wDQYDVQQDDAZi
14
+ aW8wHhcNMjYwMzI1MTI0OTEyWhcNMjcwMzI1MTI0OTEyWjBBMQ8wDQYDVQQDDAZi
15
15
  cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
16
16
  GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
17
17
  f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
@@ -23,15 +23,15 @@ cert_chain:
23
23
  GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
24
24
  Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaM5MDcw
25
25
  CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
26
- F5wykJEVMA0GCSqGSIb3DQEBCwUAA4IBgQBlzRfyAYx/fCFjizS0Npxw4+4T3aYL
27
- hbXoDqQRWjxuhFZcXUymhz3r8/Ltyri9lSof8grzB+8/+mrMVms7Gwt5qolk6zdn
28
- FkySGy/jmpN12ldOHFbBEnyVBZNBvOBVb8zkkw8PhiHdBdXOUm4Jy39yJvBLfjcC
29
- iM1aeWPmgPy1GbvZU+leRGZLt6dRIR9oCDXcWLRjha8xLMoz6Yn9fJBYexBA3iEz
30
- h5S7pn4AX/JhVRiSyl8pAy4jEKydpyQrliH3gHkpNmUS/XDczP+9xX1bAB4BvqL2
31
- NCxMcQ+hiJNqCKpPgHxaOOHZfIxV33logIuPEQ8NryHAwZ9ZWnwtYDE8kQGGKskI
32
- Kkm6QT474hZl7MpwiJjWgW313CR7jUEekQahX1QxCxHPI7LSrKpno0plH3uWIOQp
33
- KUlkb9uyACBgyRO52ZHiDVI8YvtU5O/j9pSes9/3XgvBeC1onx4qWp+uRX7eVsYS
34
- GiijocTc3enZVrXERetaXj8/9XWs3fB3HWY=
26
+ F5wykJEVMA0GCSqGSIb3DQEBCwUAA4IBgQAG+ykjp+DIXSybGEtX+/ve974mYfN6
27
+ 8U7qcVfRM+qDSOZ+97iu30qUTbVAKIHlHCDKRn3SgOffDUB5VU2MsJBh/3TPKWBZ
28
+ anB/uzMcwOfru+qyA3b7ZFqZzRLWmR5FtPObFxc0gYMT3YvLNHk2Nb9Vjq/PoiGG
29
+ e75PXweDOokwDA5m1gMOz1rdp/dlGMXkSFQg94PPVyUKXgO4VzWTgePSDxOIL+v6
30
+ +OWV6AaEH9BaqxnmdA5ubi0L7bhl0gbN92FxpNO3kpTjww8kme856a+wCK3qyM5w
31
+ 7ZLbUexynDN0Au8eSpT2Bf6ztGmB1S9ffzDJsGX1/lkpMIB51e48Xe2+gzzOgemk
32
+ CdZaGupj6WkarnT8kh/cPtyA5ax4rGX6GOS8meGxzkv8Uy0JSEOYAp6wLfIisYZp
33
+ IJBIXIOkwKKJ0eB5YHrUSJxzpP4LlcIg/eTftaXmJdYjy+2VRrCZYDjfguyLmMjR
34
+ KR9w4/Fjvqy87kCHmxMWa6IL2Vzt1Clm2cA=
35
35
  -----END CERTIFICATE-----
36
36
  date: 1980-01-02 00:00:00.000000000 Z
37
37
  dependencies:
@@ -190,16 +190,6 @@ files:
190
190
  - lib/trmnl/api/configuration/content.rb
191
191
  - lib/trmnl/api/configuration/loader.rb
192
192
  - lib/trmnl/api/container.rb
193
- - lib/trmnl/api/contracts/category.rb
194
- - lib/trmnl/api/contracts/current_screen.rb
195
- - lib/trmnl/api/contracts/display.rb
196
- - lib/trmnl/api/contracts/firmware.rb
197
- - lib/trmnl/api/contracts/ip_address.rb
198
- - lib/trmnl/api/contracts/model.rb
199
- - lib/trmnl/api/contracts/palette.rb
200
- - lib/trmnl/api/contracts/recipe.rb
201
- - lib/trmnl/api/contracts/recipes/author.rb
202
- - lib/trmnl/api/contracts/setup.rb
203
193
  - lib/trmnl/api/dependencies.rb
204
194
  - lib/trmnl/api/endpoints/category.rb
205
195
  - lib/trmnl/api/endpoints/container.rb
@@ -227,6 +217,16 @@ files:
227
217
  - lib/trmnl/api/models/recipes/statistics.rb
228
218
  - lib/trmnl/api/models/setup.rb
229
219
  - lib/trmnl/api/requester.rb
220
+ - lib/trmnl/api/schemas/category.rb
221
+ - lib/trmnl/api/schemas/current_screen.rb
222
+ - lib/trmnl/api/schemas/display.rb
223
+ - lib/trmnl/api/schemas/firmware.rb
224
+ - lib/trmnl/api/schemas/ip_address.rb
225
+ - lib/trmnl/api/schemas/model.rb
226
+ - lib/trmnl/api/schemas/palette.rb
227
+ - lib/trmnl/api/schemas/recipe.rb
228
+ - lib/trmnl/api/schemas/recipes/author.rb
229
+ - lib/trmnl/api/schemas/setup.rb
230
230
  - lib/trmnl/api/types.rb
231
231
  - trmnl-api.gemspec
232
232
  homepage: https://github.com/usetrmnl/trmnl-api
@@ -253,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
253
253
  - !ruby/object:Gem::Version
254
254
  version: '0'
255
255
  requirements: []
256
- rubygems_version: 4.0.7
256
+ rubygems_version: 4.0.9
257
257
  specification_version: 4
258
258
  summary: A monadic TRMNL API client.
259
259
  test_files: []
metadata.gz.sig CHANGED
Binary file