Use Data instead of Struct for Episode
Immutable value object is a better fit.

Assisted-by: Claude Opus 4.6 via pi
change ulkzspykvpuywrnoupvoonpxmkmmlyms
commit 99c2abc53403522de35f8a87e377163a176a8058
author Alpha Chen <alpha@kejadlen.dev>
date
parent lznxsozu
diff --git a/lib/feed.rb b/lib/feed.rb
index 803922f..2619dbd 100644
--- a/lib/feed.rb
+++ b/lib/feed.rb
@@ -3,7 +3,7 @@ require "nokogiri"
 module CookingIssues
   # Parses a podcast RSS feed and returns episode data.
   class Feed
-    Episode = Struct.new(:number, :title, :published_at, :audio_url, keyword_init: true) do
+    Episode = Data.define(:number, :title, :published_at, :audio_url) do
       def slug
         formatted_number = format("%03d", number)
         safe_title = title