「railties-3.1.0/lib/rails/cli.rb」を追いかける。
1 require 'rbconfig'
2 require 'rails/script_rails_loader'
3
4 # If we are inside a Rails application this method performs an exec and thus
5 # the rest of this script is not run.
6 Rails::ScriptRailsLoader.exec_script_rails!
7
8 require 'rails/ruby_version_check'
9 Signal.trap("INT") { puts; exit(1) }
10
11 if ARGV.first == 'plugin'
12 ARGV.shift
13 require 'rails/commands/plugin_new'
14 else
15 require 'rails/commands/application'
16 end
まず「rbconfig」と「rails/script_rails_loader」を読み込んでいます。
6行目では「script/rails」が存在すれば、つまり「rails new」でアプリケーションを生成した状態で
実行した場合はそちらのrailsコマンドを実行します。
8,9行目ではrailsを動かせるrubyのバージョンであるかチェックしています。
11行目以降では「rails plugin」と指定した場合は「rails/commands/plugin_new」を、
それ以外は「application/commands/application」を読み込んでいます。
「rails plugin new Hoge」とすればプラグイン開発用の雛形が生成されるのだ。
11行目以降の部分はrailsアプリを新たに作成する場合に実行されるコードです。
そちらはちょっとパスするとして、生成したあとの「script/rails」を読んでいきましょう。
それは次回。
0 件のコメント:
コメントを投稿