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

Railsで学ぶフレームワーク作り - Dispatcher編 その1

フレームワーク作りの参考にRailsのコードを読んでみる事にしました。 Rails使ってたのは1.0のころなので、もうすっかり忘れてますが。actionpack/lib/action_controller/dispatcher.rb がいかにもって感じなので、そこから読んでみることに。確かRailsもRac…

Railsで学ぶフレームワーク作り - Dispatcher編 その2 Routing::Routes

前回DispatcherだとわかったRouting::Routesのrecognizeメソッドの実装をみていきましょう。 def recognize(request) params = recognize_path(request.path, extract_request_environment(request)) request.path_parameters = params.with_indifferent_acc…

Railsで学ぶフレームワーク作り - Dispatcher編 その3 route設定の初期化部分

route設定の初期化してるところから読んできますか。routing, initあたりでackで調べると、それっぽいメソッドありますね。以下のメソッドのようですねrailties/lib/initializer.rb def initialize_routing return unless configuration.frameworks.include?…

Railsで学ぶフレームワーク作り - Dispatcher編 その4 Routeの構築部分

config/routes.rbをみると、以下のようなブロックで囲まれています。ここがディスパッチルールの設定部分ですね。 ActionController::Routing:Routes.draw do |map| map.connect ':controller/:action/:id', :controller => 'blog' end Rout…

今日の結論

Routeの実装をみたときの絶望感はすごいですね。にわかperlerが踏み込んではいけない領域な気がします。これrubyistな人は読んでるんですかね...今日の結論は、railsは表面的なクラス構造は綺麗だけど、深層に入るとカオス過ぎ。 rails--