Consolidate ENV reads into a Config object
Assisted-by: Claude Opus 4.6 via pi
diff --git a/lib/config.rb b/lib/config.rb
new file mode 100644
index 0000000..d94de88
--- /dev/null
+++ b/lib/config.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+Config = Data.define(:database_url) do
+ def self.from_env(env = ENV)
+ new(
+ database_url: env.fetch("DATABASE_URL") { "db/ketchup.db" }
+ )
+ end
+end
diff --git a/lib/db.rb b/lib/db.rb
index df86307..52b0343 100644
--- a/lib/db.rb
+++ b/lib/db.rb
@@ -2,6 +2,9 @@
require "sequel"
-DB = Sequel.sqlite(ENV.fetch("DATABASE_URL") { "db/ketchup.db" })
+require_relative "config"
+
+CONFIG = Config.from_env
+DB = Sequel.sqlite(CONFIG.database_url)
Sequel.extension :migration
Sequel::Migrator.run(DB, File.expand_path("../db/migrate", __dir__))