Add rake dev task for in-memory development server
Assisted-by: Claude Sonnet 4.6 via Claude Code
diff --git a/Rakefile b/Rakefile
index 7b659cf..3c67845 100644
--- a/Rakefile
+++ b/Rakefile
@@ -19,6 +19,14 @@ Minitest::TestTask.create(:test)
task default: :test
+desc "Start dev server with pre-seeded in-memory database"
+task :dev do
+ Sequel::Migrator.run(DB, "db/migrate") unless Dir.empty?("db/migrate")
+
+ require "rack"
+ Rack::Server.start(config: "config.ru", Port: 9292)
+end
+
namespace :db do
desc "Run pending migrations"
task :migrate do
diff --git a/lib/config.rb b/lib/config.rb
index 9c83173..b41817a 100644
--- a/lib/config.rb
+++ b/lib/config.rb
@@ -1,7 +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"))
+ def self.from_env
+ new(database_url: ENV.fetch("DATABASE_URL"))
end
end
diff --git a/lib/db.rb b/lib/db.rb
index 8a9dcc9..ae8a2dc 100644
--- a/lib/db.rb
+++ b/lib/db.rb
@@ -2,6 +2,7 @@
require "sequel"
require "sequel/extensions/migration"
+
require_relative "config"
-DB = Sequel.sqlite(Config.load.database_url)
+DB = Sequel.sqlite(Config.from_env.database_url)