trmnl-api 0.13.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +36 -23
- data/lib/trmnl/api/container.rb +10 -10
- data/lib/trmnl/api/endpoints/category.rb +3 -3
- data/lib/trmnl/api/endpoints/current_screen.rb +3 -3
- data/lib/trmnl/api/endpoints/display.rb +3 -3
- data/lib/trmnl/api/endpoints/firmware.rb +3 -3
- data/lib/trmnl/api/endpoints/ip_address.rb +3 -3
- data/lib/trmnl/api/endpoints/model.rb +3 -3
- data/lib/trmnl/api/endpoints/palette.rb +3 -3
- data/lib/trmnl/api/endpoints/recipe.rb +3 -3
- data/lib/trmnl/api/endpoints/setup.rb +3 -3
- data/lib/trmnl/api/{contracts → schemas}/category.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/current_screen.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/display.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/firmware.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/ip_address.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/model.rb +2 -1
- data/lib/trmnl/api/{contracts → schemas}/palette.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/recipe.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/recipes/author.rb +1 -1
- data/lib/trmnl/api/{contracts → schemas}/setup.rb +1 -1
- data/trmnl-api.gemspec +1 -1
- data.tar.gz.sig +0 -0
- metadata +23 -23
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dedac6b2c46579d646be122b295be973bb3c39bbc35847da48d77f9ce2f506ae
|
|
4
|
+
data.tar.gz: dd7ec7571e0c2cc0f74c67bfc78c4e157b8590a8736913102e582959a85f920c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4b18624c8fb2ec5c395a58824691d5da9a1495f8bc26fe41f1119de67cde3aa6d1d2ef4657a72a490e74db51343c7aceea5930887624cdb5c9ae3a7e1fb46f65
|
|
7
|
+
data.tar.gz: 91c83467a642383c7edf9ed5decd35b9514fbf45382a9574e39e4510dc48ac748bc70ae0cec6a218fa312652268968826cd2c65c216015d589564a6cd64c07dc
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/README.adoc
CHANGED
|
@@ -228,34 +228,31 @@ client.models
|
|
|
228
228
|
|
|
229
229
|
# Success(
|
|
230
230
|
# [
|
|
231
|
-
# #<
|
|
232
|
-
#
|
|
233
|
-
#
|
|
234
|
-
#
|
|
235
|
-
#
|
|
236
|
-
#
|
|
237
|
-
#
|
|
238
|
-
#
|
|
239
|
-
# rotation=90,
|
|
240
|
-
# mime_type="image/png",
|
|
241
|
-
# width=800,
|
|
242
|
-
# height=480,
|
|
243
|
-
# offset_x=10,
|
|
244
|
-
# offset_y=15,
|
|
245
|
-
# palette_names=["bw"],
|
|
246
|
-
# css: {
|
|
247
|
-
# classes: {
|
|
248
|
-
# device: "screen--og_png",
|
|
249
|
-
# size: "screen--md"
|
|
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"
|
|
250
239
|
# },
|
|
251
240
|
# variables: [
|
|
252
241
|
# [
|
|
253
242
|
# "--screen-w",
|
|
254
|
-
# "
|
|
243
|
+
# "1040px"
|
|
255
244
|
# ],
|
|
256
245
|
# [
|
|
257
246
|
# "--screen-h",
|
|
258
|
-
# "
|
|
247
|
+
# "780px"
|
|
248
|
+
# ],
|
|
249
|
+
# [
|
|
250
|
+
# "--pixel-ratio",
|
|
251
|
+
# "1.8"
|
|
252
|
+
# ],
|
|
253
|
+
# [
|
|
254
|
+
# "--dither-pixel-ratio",
|
|
255
|
+
# "2.0"
|
|
259
256
|
# ],
|
|
260
257
|
# [
|
|
261
258
|
# "--ui-scale",
|
|
@@ -266,7 +263,23 @@ client.models
|
|
|
266
263
|
# "1.0"
|
|
267
264
|
# ]
|
|
268
265
|
# ]
|
|
269
|
-
# }
|
|
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
|
|
270
283
|
# >
|
|
271
284
|
# ]
|
|
272
285
|
# )
|
|
@@ -328,7 +341,7 @@ client.recipes search: "comic" # Answers first page of comics.
|
|
|
328
341
|
client.recipes sort: "popularity" # Answers first page sorted by popularity.
|
|
329
342
|
|
|
330
343
|
# Success(
|
|
331
|
-
# #<data TRMNL::API::Models::Recipe
|
|
344
|
+
# #<data TRMNL::API::Models::Recipe
|
|
332
345
|
# data = [
|
|
333
346
|
# #<Struct:TRMNL::API::Models::Recipes::Data:0x00010fe0
|
|
334
347
|
# author = #<Struct:TRMNL::API::Models::Recipes::Author:0x00010ff0
|
data/lib/trmnl/api/container.rb
CHANGED
|
@@ -19,16 +19,16 @@ module TRMNL
|
|
|
19
19
|
HTTP
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
namespace :
|
|
23
|
-
register :category,
|
|
24
|
-
register :current_screen,
|
|
25
|
-
register :display,
|
|
26
|
-
register :firmware,
|
|
27
|
-
register :ip_address,
|
|
28
|
-
register :model,
|
|
29
|
-
register :palette,
|
|
30
|
-
register :recipe,
|
|
31
|
-
register :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,
|
|
11
|
+
include TRMNL::API::Dependencies[:requester, schema: "schemas.category"]
|
|
12
12
|
|
|
13
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
13
|
+
schema: "schemas.current_screen",
|
|
14
14
|
model: "models.current_screen"
|
|
15
15
|
]
|
|
16
16
|
|
|
17
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
13
|
+
schema: "schemas.display",
|
|
14
14
|
model: "models.display"
|
|
15
15
|
]
|
|
16
16
|
|
|
17
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
13
|
+
schema: "schemas.firmware",
|
|
14
14
|
model: "models.firmware"
|
|
15
15
|
]
|
|
16
16
|
|
|
17
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
13
|
+
schema: "schemas.ip_address",
|
|
14
14
|
model: "models.ip_address"
|
|
15
15
|
]
|
|
16
16
|
|
|
17
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
13
|
+
schema: "schemas.model",
|
|
14
14
|
model: "models.model"
|
|
15
15
|
]
|
|
16
16
|
|
|
17
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
13
|
+
schema: "schemas.palette",
|
|
14
14
|
model: "models.palette"
|
|
15
15
|
]
|
|
16
16
|
|
|
17
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
14
|
+
schema: "schemas.recipe",
|
|
15
15
|
model: "models.recipe"
|
|
16
16
|
]
|
|
17
17
|
|
|
18
|
-
include Inspectable[
|
|
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(
|
|
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
|
-
|
|
13
|
+
schema: "schemas.setup",
|
|
14
14
|
model: "models.setup"
|
|
15
15
|
]
|
|
16
16
|
|
|
17
|
-
include Inspectable[
|
|
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(
|
|
23
|
+
validate(schema, as: :to_h),
|
|
24
24
|
to(model, :for)
|
|
25
25
|
end
|
|
26
26
|
end
|
|
@@ -4,7 +4,7 @@ require "dry/schema"
|
|
|
4
4
|
|
|
5
5
|
module TRMNL
|
|
6
6
|
module API
|
|
7
|
-
module
|
|
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
|
data/trmnl-api.gemspec
CHANGED
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.
|
|
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
|
-
|
|
12
|
+
MIIENjCCAp6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
|
|
13
13
|
a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
|
|
14
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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.
|
|
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
|