2008-12-03から1日間の記事一覧

Railsで学ぶフレームワーク作り - Dispatcher編 その5 Routeの構築部分 freezeメソッドの解析

route.freezeがカオス!前回書いていたたんですが、ようやく何をやってるのか(何故このような処理をしているのか)を理解しました。freezeメソッドは、以下のようになっています。 def freeze unless frozen? write_generation! write_recognition! prepare_…

RailsとRackのcode reading

Railsはとてもユニークなフレームワークで驚かされるところがあるので、一応主要なところはざっと目を通したいなとは思ってます。ただ、黒魔術多めで、思想を理解するのに時間がかかるなぁという印象です。黒魔術使っているところ以外はとても綺麗でよみやす…

HTTP::RouterをWAFに組み込んでみた

Railsをインスパイアして、conf/routes.yamlをロードすると、以下のようなディスパッチテーブルを生成するWAFを、HTTP::Routerを使って作ってみた。conf/routes.yaml --- - type: resource controller: Bookdispatch table .-------------------------------…

rackで学ぶフレームワーク作り#1 - Rackアプリの実行の流れ

bin/rackupのコードを読んでみる。これがRackアプリを起動するスクリプト。ruファイルを読み込んで、Rack::Builderでapp生成して、CGIとかのHandlerでrunというのがrackupの実行の流れ。ru(config)よんでRack::Builderでmiddlewareとか組み立てる。 if confi…