From 02207fee03132766bba98f083d589b39ca7f5c60 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sat, 21 Nov 2020 15:39:45 -0700 Subject: feat: extract config.ru to be compatible with rackup --- config.ru | 12 ++++++++++++ script/server | 2 +- server-rack.rb | 19 ++----------------- 3 files changed, 15 insertions(+), 18 deletions(-) create mode 100644 config.ru diff --git a/config.ru b/config.ru new file mode 100644 index 0000000..b5ce9c3 --- /dev/null +++ b/config.ru @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby +# Usage: +# +# $ ./script/server +require_relative './server-rack' + +app = Rack::Builder.new do + use Rack::Reloader + run DataStorageServer.new +end.to_app + +Rack::Server.start(app: app, Port: 8282) diff --git a/script/server b/script/server index c9bda99..11fd9c5 100755 --- a/script/server +++ b/script/server @@ -4,4 +4,4 @@ set -e cd "$(dirname "$0")/.." -ruby server-rack.rb +ruby config.ru diff --git a/server-rack.rb b/server-rack.rb index d68d867..25a9733 100644 --- a/server-rack.rb +++ b/server-rack.rb @@ -1,7 +1,4 @@ #!/usr/bin/env ruby -# Usage: -# -# $ ./script/server require 'digest/sha1' require 'rack' require 'json' @@ -9,9 +6,8 @@ require 'json' class DataStorageServer MAX_BYTES=1024 - # You may initialize any variables you want to use across requests here - def initialize - @storage = {} + def initialize(storage: {}) + @storage = storage end # Download an Object @@ -91,14 +87,3 @@ class DataStorageServer path.split('/')[-1] end end - -# This starts the server if the script is invoked from the command line. No -# modifications needed here. -if __FILE__ == $0 - app = Rack::Builder.new do - use Rack::Reloader - run DataStorageServer.new - end.to_app - - Rack::Server.start(app: app, Port: 8282) -end -- cgit v1.2.3