diff --git a/lib/trmnl/api/models/recipe.rb b/lib/trmnl/api/models/recipe.rb index 4ffb19d..aa5cb90 100644 --- a/lib/trmnl/api/models/recipe.rb +++ b/lib/trmnl/api/models/recipe.rb @@ -5,6 +5,8 @@ module TRMNL module Models # Models the payload of the API response. Recipe = ::Data.define :data, :meta do + def self.empty(meta: Recipes::Meta.new) = new(data: [], meta:) + def self.for(**attributes) meta = attributes.slice :from, :to, diff --git a/spec/lib/trmnl/api/models/recipe_spec.rb b/spec/lib/trmnl/api/models/recipe_spec.rb index 420bab5..8851f67 100644 --- a/spec/lib/trmnl/api/models/recipe_spec.rb +++ b/spec/lib/trmnl/api/models/recipe_spec.rb @@ -18,6 +18,14 @@ RSpec.describe TRMNL::API::Models::Recipe do } end + describe ".empty" do + it "answers empty record" do + expect(described_class.empty).to eq( + described_class[data: [], meta: TRMNL::API::Models::Recipes::Meta.new] + ) + end + end + describe ".for" do let :attributes do {