rack を使った簡易Webフレームワークを作ってみた
元々は、ruby on rails を覚えようと思ってたんですよね。しかし rails の勉強は見事に挫折しました。個人的に、どうもフレームワークの使い方の勉強ってのが楽しくなくて。や、仕事でならどんなフレームワークでもちゃんと覚えますけど、趣味プログラミングだとあまりやる気が起きず。。。
で、既存のフレームワーク使うのが嫌なら自分で作っちゃえ、とばかりに、今年の2月くらいから、rack を使って簡易 web フレームワークをぼつぼつ調べながら作ってたんですが、いまいちな出来&飽きたのもあって中途半端なところでほっぽって置いてました。
しかし、ここのところ色々と話題になってる、えがちゃんって人を見て、(出来はともかく)やっぱとにかく手を動かすべきだよなあ、と思い考えを改め重い腰をあげて作る&公開してみます。
ちなみに自分は、python 製の web.py っていう web フレームワークしか使った事無いんですが、へぼい web.py もどきって意味で hebo.rb って名前にしてみました。ソースは、バグあるかもしれないし修正する可能性があるので ここに貼付けずに、google code にあげてあります。これ↓
http://code.google.com/p/kenkiti/source/browse/trunk/ruby/hebo.rb/hebo.rb
使うまでの準備
sudo gem install rack
rack を入れた後、上記の hebo.rb をダウンロードして適当なパスに置いときます。
サンプルスクリプト
こんな↓感じ。web.py っていうよりほとんど ramaze に近い、、、
#!/usr/bin/env ruby require 'hebo' class MyApp < Hebo::Application def index(name) if name.nil? "hello world!" else "hello #{name}" end end end Hebo.start MyApp, :adapter => :webrick # or :cgi
まぁ、こんなフレームワーク自分しか使う人いないでしょうし、使い方の説明は面倒なのでしません。とりあえず、ruby で自作 web フレームワーク作ってみたい人への参考用コード等になれば、と。。。とりあえず明日は、この自作フレームワークを使って、tropyもどきを作ってみます。