config/boot.rb の構成は、次のようになっている。
RAILS_ROOT = .... module Rails class << self def boot! unless booted? preinitialize pick_boot.run end end .... end class Boot .... end class VendorBoot <Boot .... end class GemBoot <Boot .... end end # All that for this Rails.boot! トップレベルで実行されているのは、RAILS_ROOT 変数への代入と、Rails モジュールの定義と、Rails.boot! メソッドの実行の三つだけだ。 そうして、Rails.boot メソッドが何をしているかというと、unless booted? で Rails が既にブートされているかをチェックし、ブートされていなければ preinitialize した後、pick_boot.run で vender が提供する Rails があればそれを実行し、なければ RubyGems の Rails を実行する。 整然とした構成で、ほとんどのクラスやメソッドは Rails モジュールの中にカプセル化されている。さらに、Rails モジュールの中も、クラスごとに整頓されている。class << self を利用することで、クラスメソッドがひとまとめになっており、他のクラスと同じようなレベルで表記することが出来ている。 Rails モジュールの中のクラスの構成を見ると、class << self のクラスメソッドクラス、Boot クラス、Bootクラスの子クラスである VenderBoot クラス、GemBoot クラスからなっている。 ちょっと構成を眺めただけで、そのコードが何をしているのかが分かるソースは読むほうにはありがたい。また全体的にメソッドの定義がかなり短くまとまっているので、解読の負担が少ない。
by tnomura9
| 2008-10-17 06:32
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||