diff --git a/lib/trmnl/api/models/firmware.rb b/lib/trmnl/api/models/firmware.rb new file mode 100644 index 0000000..2ba73c3 --- /dev/null +++ b/lib/trmnl/api/models/firmware.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module TRMNL + module API + module Models + # Models API response. + Firmware = Data.define :url, :version do + def self.for(attributes) = new(**attributes) + end + end + end +end diff --git a/spec/lib/trmnl/api/models/firmware_spec.rb b/spec/lib/trmnl/api/models/firmware_spec.rb new file mode 100644 index 0000000..6b2eb26 --- /dev/null +++ b/spec/lib/trmnl/api/models/firmware_spec.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe TRMNL::API::Models::Firmware do + describe ".for" do + it "answers record for attributes" do + attributes = {url: "https://test.io/FW1.0.0.bin", version: "1.0.0"} + expect(described_class.for(attributes)).to eq(described_class[**attributes]) + end + end +end