人気ブログランキング | 話題のタグを見る

RoR Rails モジュールの調査

config/boot.rb は、Rails モジュールの定数 Rails::Initializer.run(:set_load_path) も利用する。irb で Rails モジュールをロードするには、require 'rubygems' のあと、require 'initializer' をすればよい。require 'rails' ではエラーになった。

irb を起動
C:\Users\********>irb

ruygems.rb の読み込み
irb(main):001:0> require 'rubygems'
=> false

initializer.rb の読み込み
irb(main):002:0> require 'initializer'
=> true

定数 Rails のタイプのチェック
irb(main):003:0> Rails.class
=> Module

定数 Rails::Initializer のタイプのチェック。boot.rb で出てくる。
irb(main):004:0> Rails::Initializer.class
=> Class

Rails::Initializer クラスの上位クラスは Object クラス
irb(main):005:0> Rails::Initializer.superclass
=> Object

Rails::Inititalizer クラスのメソッドのうち、Object クラスから継承していないのは run メソッドだけ
irb(main):006:0> Rails::Initializer.methods - Object.methods
=> ["run"]

ためしに run メソッドを走らせてみたが、RAILS_ROOT 定数がセットされていないためエラーになった。
irb(main):007:0> Rails::Initializer.run(:set_load_path)
RuntimeError: RAILS_ROOT is not set

Ruby on Rails のすべての機能は、Rails モジュールの中に記述されているようだ。Railsモジュールを読み込んで使うためには、require 'rubygems' のあと reuqire 'initializer' を実行する。
by tnomura9 | 2008-10-21 11:33 | Ruby | Comments(0)
<< RoR と send RubyGems の調査 >>