summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.ru12
-rwxr-xr-xscript/server2
-rw-r--r--server-rack.rb19
3 files changed, 15 insertions, 18 deletions
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