Add kdl and hegeltest dependencies
hegeltest is unreleased, so it comes from git; its native libhegel
engine fetches into tmp/libhegel/ (gitignored), pointed at by
HEGEL_LIBHEGEL_PATH in the machine-local .envrc.

Assisted-by: GLM-5.3 via pi
change kvkpsllommknrqtlxnupnkoumymmlvmy
commit b1d50c81e06a6cc289b3e664886d54f42888f3d8
author Alpha Chen <alpha@kejadlen.dev>
date
parent nrvlkplq
diff --git a/.gitignore b/.gitignore
index 2b5a195..17f4392 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 /log
+/tmp
 /servers
 /carddav.mobileconfig
diff --git a/Gemfile b/Gemfile
index bf35619..78489f8 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,6 +2,7 @@
 
 source "https://rubygems.org"
 
+gem "kdl"
 gem "logger"
 gem "nokogiri"
 gem "puma"
@@ -11,6 +12,7 @@ gem "roda"
 gem "sentry-ruby"
 
 group :development do
+  gem "hegeltest", git: "https://github.com/meganemura/hegel-ruby"
   gem "irb"
   gem "minitest"
   gem "rack-test"
diff --git a/Gemfile.lock b/Gemfile.lock
index 00bf230..254766f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,15 +1,30 @@
+GIT
+  remote: https://github.com/meganemura/hegel-ruby
+  revision: c651cdc58545d7ca96d173969490ea62e2a379bf
+  specs:
+    hegeltest (0.0.0)
+      ffi (~> 1.17, >= 1.17.4)
+
 GEM
   remote: https://rubygems.org/
   specs:
-    bigdecimal (4.0.1)
+    base64 (0.2.0)
+    bigdecimal (3.1.9)
     concurrent-ruby (1.3.6)
     date (3.5.1)
     erb (6.0.1)
+    ffi (1.17.4-aarch64-linux-gnu)
+    ffi (1.17.4-arm64-darwin)
     io-console (0.8.2)
     irb (1.16.0)
       pp (>= 0.6.0)
       rdoc (>= 4.0.0)
       reline (>= 0.4.2)
+    kdl (2.2.0)
+      base64 (~> 0.2.0)
+      bigdecimal (~> 3.1.6)
+      racc (~> 1.5)
+      simpleidn (~> 0.2.1)
     logger (1.7.0)
     minitest (6.0.1)
       prism (~> 1.5)
@@ -45,6 +60,7 @@ GEM
     sentry-ruby (6.2.0)
       bigdecimal
       concurrent-ruby (~> 1.0, >= 1.0.2)
+    simpleidn (0.2.3)
     stringio (3.2.0)
     tsort (0.2.0)
 
@@ -53,7 +69,9 @@ PLATFORMS
   arm64-darwin-25
 
 DEPENDENCIES
+  hegeltest!
   irb
+  kdl
   logger
   minitest
   nokogiri
@@ -65,16 +83,21 @@ DEPENDENCIES
   sentry-ruby
 
 CHECKSUMS
-  bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
+  base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
+  bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
   concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
   date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
   erb (6.0.1) sha256=28ecdd99c5472aebd5674d6061e3c6b0a45c049578b071e5a52c2a7f13c197e5
+  ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df
+  ffi (1.17.4-arm64-darwin) sha256=19071aaf1419251b0a46852abf960e77330a3b334d13a4ab51d58b31a937001b
+  hegeltest (0.0.0)
   io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
   irb (1.16.0) sha256=2abe56c9ac947cdcb2f150572904ba798c1e93c890c256f8429981a7675b0806
+  kdl (2.2.0) sha256=46e56c6686dbb681625a0d6c6193e4b732d6627e8758f8d5e9295309ded958e6
   logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
   minitest (6.0.1) sha256=7854c74f48e2e975969062833adc4013f249a4b212f5e7b9d5c040bf838d54bb
   nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
-  nokogiri (1.19.0-aarch64-linux-gnu)
+  nokogiri (1.19.0-aarch64-linux-gnu) sha256=11a97ecc3c0e7e5edcf395720b10860ef493b768f6aa80c539573530bc933767
   nokogiri (1.19.0-arm64-darwin) sha256=0811dfd936d5f6dd3f6d32ef790568bf29b2b7bead9ba68866847b33c9cf5810
   pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
   prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
@@ -90,6 +113,7 @@ CHECKSUMS
   reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
   roda (3.100.0) sha256=35d36f43c68d2bd1974dc77ade8c873558265a191018e1ada88ca662f1fa8e62
   sentry-ruby (6.2.0) sha256=d7b8a358a3a0d0536bd194b19cc282c85f295b6d242731e9b4a934ccdb71ac17
+  simpleidn (0.2.3) sha256=08ce96f03fa1605286be22651ba0fc9c0b2d6272c9b27a260bc88be05b0d2c29
   stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
   tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f