Module: TRMNL::API::Contracts
- Defined in:
- lib/trmnl/api/contracts/model.rb,
lib/trmnl/api/contracts/setup.rb,
lib/trmnl/api/contracts/display.rb,
lib/trmnl/api/contracts/palette.rb,
lib/trmnl/api/contracts/category.rb,
lib/trmnl/api/contracts/firmware.rb,
lib/trmnl/api/contracts/ip_address.rb,
lib/trmnl/api/contracts/current_screen.rb
Constant Summary collapse
- Model =
Validates API response.
Dry::Schema.JSON do required(:data).array(:hash) do required(:name).filled :string required(:label).filled :string required(:description).filled :string required(:kind).filled :string required(:colors).filled :integer required(:bit_depth).filled :integer required(:scale_factor) { filled? > int? | float? } required(:rotation).filled :integer required(:mime_type).filled :string required(:width).filled :integer required(:height).filled :integer required(:offset_x).filled :integer required(:offset_y).filled :integer required(:palette_ids).array(:string) optional(:css).hash do optional(:classes).hash do required(:device).filled :string required(:size).filled :string end optional(:variables).filled(Types::CSSVariables) end end end
- Setup =
Validates API response.
Dry::Schema.JSON do required(:api_key).filled :string required(:friendly_id).filled :string required(:image_url).filled :string required(:message).filled :string end
- Display =
Validates API response.
Dry::Schema.JSON do required(:filename).filled :string required(:firmware_url).filled :string required(:image_url).filled :string required(:refresh_rate).filled :integer required(:reset_firmware).filled :bool required(:special_function).filled :string required(:update_firmware).filled :bool end
- Palette =
Validates API response.
Dry::Schema.JSON do required(:data).array(:hash) do required(:id).filled :string required(:name).filled :string optional(:grays).maybe :integer optional(:colors).maybe(:array) optional(:framework_class).maybe :string end end
- Category =
Validates API response.
Dry::Schema.JSON { required(:data).array(:string) }
- Firmware =
Validates API response.
Dry::Schema.JSON do required(:url).filled :string required(:version).filled :string end
- IPAddress =
Validates API response.
Dry::Schema.JSON do required(:data).hash do required(:ipv4).array(Types::IPAddress) required(:ipv6).array(Types::IPAddress) end end
- CurrentScreen =
Validates API response.
Dry::Schema.JSON do required(:refresh_rate).filled :integer required(:image_url).filled :string required(:filename).filled :string end