2009年8月22日土曜日

[Rails][CodeReading] Rails::Initializer (1) check_ruby_version

processメソッドの中で最初に呼ばれるメソッド check_ruby_version です。

def check_ruby_version
require 'ruby_version_check'
end


実体は、ruby_version_check.rb にあります。

# rails/lib/ruby_version_check.rb
min_release = "1.8.2 (2004-12-25)"
ruby_release = "#{RUBY_VERSION} (#{RUBY_RELEASE_DATE})"
if ruby_release =~ /1\.8\.3/
abort <<-end_message

Rails does not work with Ruby version 1.8.3.
Please upgrade to version 1.8.4 or downgrade to 1.8.2.

end_message
elsif ruby_release < min_release
abort <<-end_message

Rails requires Ruby version #{min_release} or later.
You're running #{ruby_release}; please upgrade to continue.

end_message
end

Rails 2.3.3 のサポートするRubyは 1.8.2 (2004-12-25) 以降(1.8.3除く)であることがわかります。対象外バージョンのRubyで実行された場合は例外がスローされます。

[Rails][CodeReading] Railsの初期化コードを読む (イントロ&目次)

0 件のコメント:

コメントを投稿