Extract Config data class
Assisted-by: Owl Alpha via pi
change snzrynmuypnuowptowuxpuuxlmvwtrko
commit 388b7576f6df61c55df34234c73a3f0d32440267
author Alpha Chen <alpha@kejadlen.dev>
date
parent yonrrvws
diff --git a/lib/config.rb b/lib/config.rb
new file mode 100644
index 0000000..9c83173
--- /dev/null
+++ b/lib/config.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class Config < Data.define(:database_url)
+  def self.load
+    new(database_url: ENV.fetch("DATABASE_URL", "db/domus.db"))
+  end
+end
diff --git a/lib/db.rb b/lib/db.rb
index 570825e..8a9dcc9 100644
--- a/lib/db.rb
+++ b/lib/db.rb
@@ -2,5 +2,6 @@
 
 require "sequel"
 require "sequel/extensions/migration"
+require_relative "config"
 
-DB = Sequel.sqlite(ENV.fetch("DATABASE_URL", "db/domus.db"))
+DB = Sequel.sqlite(Config.load.database_url)