From 0fd93f2efaa70fbb4c4da0b9c8411567a35408f4 Mon Sep 17 00:00:00 2001 From: Thomas von Deyen Date: Tue, 3 Feb 2026 15:16:26 +0100 Subject: [PATCH] feat: Add IngredientColorSerializer New ingredient introduced in Alchemy 8.1 --- .../json_api/ingredient_color_serializer.rb | 11 ++++++++++ .../ingredient_color_serializer_spec.rb | 21 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 app/serializers/alchemy/json_api/ingredient_color_serializer.rb create mode 100644 spec/serializers/alchemy/json_api/ingredient_color_serializer_spec.rb diff --git a/app/serializers/alchemy/json_api/ingredient_color_serializer.rb b/app/serializers/alchemy/json_api/ingredient_color_serializer.rb new file mode 100644 index 0000000..7f9ca88 --- /dev/null +++ b/app/serializers/alchemy/json_api/ingredient_color_serializer.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +require "alchemy/json_api/ingredient_serializer" + +module Alchemy + module JsonApi + class IngredientColorSerializer < BaseSerializer + include IngredientSerializer + end + end +end diff --git a/spec/serializers/alchemy/json_api/ingredient_color_serializer_spec.rb b/spec/serializers/alchemy/json_api/ingredient_color_serializer_spec.rb new file mode 100644 index 0000000..6424e54 --- /dev/null +++ b/spec/serializers/alchemy/json_api/ingredient_color_serializer_spec.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require "rails_helper" + +RSpec.describe Alchemy::JsonApi::IngredientColorSerializer do + let(:ingredient) do + Alchemy::Ingredients::Color.new(role: "color", value: "green") + end + + subject(:serializer) { described_class.new(ingredient) } + + it_behaves_like "an ingredient serializer" + + describe "attributes" do + subject { serializer.serializable_hash[:data][:attributes] } + + it "has the right keys and values" do + expect(subject[:value]).to eq("green") + end + end +end