2009年7月15日水曜日

[Railsのキホン] Railities

Rails が備える便利なコマンド(Utility)群を、Railities といいます。
具体的には、Railsアプリを作る rails コマンド、script/ 以下の generate コマンドを指します。
それぞれのコマンドが何をするのか、ヘルプと Rails Wiki  で調べた内容を簡単にまとめます。
(Rails のバージョンは 2.3.2 です。)


Railities 一覧
- rails
- script/about
- script/generate
- script/destroy
- script/console
- script/server
- script/dbconsole
- script/plubin
- script/runner
- script/performance/benchmarker
- script/performance/profiler



rails (Railsアプリケーションの生成)

使い方: rails /path/to/your/app [options]

options に指定できるのは
-r, --ruby=path - このアプリで使用するRubyのバイナリを指定。
-d, --database=name - 使用するデータベースを指定。指定できるのは mysql/postgres/sqlite3/oracle/ibm_db など。デフォルトは sqlite3。(Rails 1.x 系はmysql)
など。


script/about (実行環境の情報を表示)

使い方: script/about

私の環境で実行すると


About your application's environment
Ruby version 1.9.1 (i686-linux)
RubyGems version 1.3.4
Rack version 1.0 bundled
Rails version 2.3.2
Active Record version 2.3.2
Action Pack version 2.3.2
Active Resource version 2.3.2
Action Mailer version 2.3.2
Active Support version 2.3.2
Application root /rails/app/path
Environment development
Database adapter sqlite3


と出ました。


script/generate (Model, Controllerなどの雛形の生成)

使い方: generate generator [options] [args]

generator に、作成したいモノを指定すると、関連するディレクトリ・ファイルを一気に作ってくれます。
ビルトインのgeneratorには、

controller, helper, integration_test, mailer, metal, migration, model, observer,performance_test, plugin, resource, scaffold, session_migration

があります(自作generatorも作れるらしい)。結構種類があるんですね。

とりあえずは controller, helper, migration, model, scaffold の作り方(argsで指定できる項目含め)を覚えておきたいです。


script/destroy (Model, Controllerなどの削除)

使い方: destroy generator [options] [args]

generate の逆です。関連するファイルをまとめて消してくれます。


script/console (対話型インタフェース)

使い方: console [environment] [options]

irbのRails拡張。また、アプリ中のファイルは自動的に require されます。


script/server (Webサーバの起動)

使い方: server [options]

Ruby添付のWebサーバ(WEBRick)が起動します。
optionとして、
-p, --port=port 起動ポートを指定。デフォルトは3000。
-d, --daemon サーバをデーモンとして起動。
などが指定できます。


script/dbconsole
(対話型DBクライアント起動)

使い方: dbconsole [options] [environment]

DBクライアントが起動します。


script/plugin (プラグイン管理ツール)

使い方: plugin [OPTIONS] command

プラグインの検索、インストール、アップデート、削除などが行えるようです。まだ使ったことはないですがパッケージ管理ツールのようなものでしょうか。
commandには以下を指定します。
discover, list, install, update, remove, source, unsource, sources


script/runnter (Rubyコード実行)

使い方: script/runner [options] ('Some.ruby(code)' or a filename)

指定されたRubyコード(or file)を実行します。
Rails Wiki では、バックグラウンドプロセスを実行する手段として紹介されています。たとえば cron を介して定期的なバッチ処理ができます。
# m h  dom mon dow   command
0 12 * * * /usr/local/bin/ruby /application/script/runner -e production 'User.deliver_updates'

script/performance/benchmarker

名前からベンチマークをとるコマンドと推測されますが、-h や --help をつけて実行してもヘルプが出てきません。Rails Wiki で検索してもヒットしません。RubyのBenchmarkクラス のようなもの?

script/performance/profile

使い方: profiler 'Person.expensive_method(10)' [times] [flat|graph|graph_html]

こちらも、名前からprofileをとるコマンドと推測されますが、ヘルプには Usage 以上の情報はありません。Rubyのprofile のようなもの?

0 件のコメント:

コメントを投稿