Add Roda web skeleton with Puma
Minimal config.ru and Web class so the app can serve HTTP.
Assisted-by: Claude Opus 4.6 via pi
diff --git a/Gemfile b/Gemfile
index 11d36dd..ea425a5 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,6 +4,8 @@ source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
+gem "puma"
+gem "rackup"
gem "roda"
gem "sequel"
gem "sqlite3"
diff --git a/Gemfile.lock b/Gemfile.lock
index bf1ecc8..e21fb9c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -45,12 +45,17 @@ GEM
minitest (6.0.1)
prism (~> 1.5)
mutex_m (0.3.0)
+ nio4r (2.7.5)
parser (3.3.10.1)
ast (~> 2.4.1)
racc
prism (1.9.0)
+ puma (7.2.0)
+ nio4r (~> 2.0)
racc (1.8.1)
rack (3.2.4)
+ rackup (2.3.1)
+ rack (>= 3)
rainbow (3.1.1)
rake (13.3.1)
rb-fsevent (0.11.2)
@@ -119,6 +124,8 @@ PLATFORMS
DEPENDENCIES
minitest
+ puma
+ rackup
rake
rbs-inline
roda
@@ -154,10 +161,13 @@ CHECKSUMS
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
minitest (6.0.1) sha256=7854c74f48e2e975969062833adc4013f249a4b212f5e7b9d5c040bf838d54bb
mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
+ nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
parser (3.3.10.1) sha256=06f6a725d2cd91e5e7f2b7c32ba143631e1f7c8ae2fb918fc4cebec187e6a688
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
+ puma (7.2.0) sha256=bf8ef4ab514a4e6d4554cb4326b2004eba5036ae05cf765cfe51aba9706a72a8
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
rack (3.2.4) sha256=5d74b6f75082a643f43c1e76b419c40f0e5527fcfee1e669ac1e6b73c0ccb6f6
+ rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe
diff --git a/config.ru b/config.ru
new file mode 100644
index 0000000..802bcd1
--- /dev/null
+++ b/config.ru
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+require_relative "lib/web"
+
+run Web.freeze.app
diff --git a/lib/web.rb b/lib/web.rb
new file mode 100644
index 0000000..ec41dc1
--- /dev/null
+++ b/lib/web.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require "roda"
+
+class Web < Roda
+ route do |r|
+ r.root do
+ "Hello, World!"
+ end
+ end
+end