diff options
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 |
