diff options
| author | mo khan <mo@mokhan.ca> | 2025-12-11 16:27:45 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-12-11 16:27:45 -0700 |
| commit | de14376f33de34e27176a7492050ac1f99867648 (patch) | |
| tree | da980a7de3342deb859d17875fc90282e19d8ec7 /lib/gitem/server.rb | |
| parent | ff11ed9e4078a18de5e0012a2b32c3f1440a84ba (diff) | |
feat: add subcommand to generate and run serverv0.2.0
Diffstat (limited to 'lib/gitem/server.rb')
| -rw-r--r-- | lib/gitem/server.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gitem/server.rb b/lib/gitem/server.rb new file mode 100644 index 0000000..c73ff56 --- /dev/null +++ b/lib/gitem/server.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Gitem + class Server + attr_reader :url + + def initialize(root, port = 8000) + @root = root + @port = port + @url = "http://localhost:#{port}" + end + + def start + puts "🌐 Server running at #{@url}" + puts " Press Ctrl+C to stop\n\n" + server = WEBrick::HTTPServer.new( + Port: @port, DocumentRoot: @root, + Logger: WEBrick::Log.new($stderr, WEBrick::Log::WARN), AccessLog: [] + ) + trap("INT") { server.shutdown } + trap("TERM") { server.shutdown } + server.start + end + end +end |
