Sinatraはじめました
簡潔に書けるWebサーバってことでSinatraを試してみたよ!
ソースコード
app.rb
#!/usr/bin/env ruby require 'rubygems' require 'sinatra' set :port, 10080 get '/' do "Hello, world\n" end get '/test' do "this is a test action.\n" end
test
this is a test file.
ディレクトリ構成
$ ls -FR .: app.rb public/ ./public: test
実行
rubyでそのまま実行してもよいのだけど、スクリプトファイルを編集したときにいちいちサーバを再起動させるのは面倒。そういうときにshotgunが使える。gemでinstallできる。
$ sudo gem install shotgun
デフォルトだとポート9393を使う。Sinatraの側でポート指定していても変えられてしまうようなので、変更するときはshotgunのオプションで指定する。
$ shotgun -p 10080 app.rb [2009-10-03 17:43:18] INFO WEBrick 1.3.1 [2009-10-03 17:43:18] INFO ruby 1.8.5 (2006-08-25) [i386-linux] == Shotgun starting Rack::Handler::WEBrick on localhost:10080 [2009-10-03 17:43:18] INFO WEBrick::HTTPServer#start: pid=5153 port=10080
あとはブラウザなりなんなりで結果をチェック。
$ curl http://localhost:10080/ Hello, world $ curl http://localhost:10080/test this is a test file.
Sinatraではまずpublic以下のファイルがないか調べてからコードのほうにマッチするか調べるらしい。