motivation: デフォルトのアプリケーションをセットしたい。
↓起動
NanoA::Dispatch以下
- PATH_INFOから$handler_path取得
- $handler_pathがからの場合→app/indexディレクトリがあったら、/index/にリダイレクト
- ..を消す→ディレクトリとラバー去る
- $handler_pathが/で終わってたら→startに振る
- NanoA::Configを初期化確認
- $handler_pathでload_config
- $handler_pathから$app_name取得→できなかったらsystem
- $app_name以下にconfig.pmがあったらロード→なかったらNanoA::Configをロード
- ロードしたconfigを({app_name => $app_name})でインスタンス化して返す
- configにcamelizeがあったら$handler_pathをcamelize
- load_handlerで$handler_klassを導出
- mtをロードする→なかったらpmをロード
- このときconfigが関係あるのはmtのロードのときにcacheディレクトリの指定を見る
- みつかんなかったらnot_foundハンドラをロード
- あとはそいつを実行
で、結局のところなんでデフォルトがああいうのかというと、
となっていて、app/system/not_found.mtが↓こうなってて、system/app_listになってるから。