QA@IT

Railsのtaskのtest関数(?)について

2680 PV

以下の記事を参考に、Unicornの再起動タスクを作成しています。

http://qiita.com/satococoa/items/9b0cc416ffc042680b9b

上記記事は、おそらく以下が元ネタなんだろうと思います。

https://github.com/tablexi/capistrano3-unicorn/blob/master/lib/capistrano3/tasks/unicorn.rake

これらの中で、ファイルの存在確認にtest()を使っています。

if test('[ -e 〜 ]')

これは、Rubyの標準関数ではないと思うのですが、一体どこから来ているのでしょうか?
また、それを調べる方法も教えていただけると助かります。

シェルの記法と同じような感じなのですが、なぜこれで存在確認ができるのか分からず……。

http://shellscript.sunone.me/if_and_test.html

ご回答の程、よろしくお願いいたします。

回答

SSHKit の↓ここにありました。

また、それを調べる方法も教えていただけると助かります。

p method(:test).source_location

で、メソッドの定義位置を見ました。

編集 履歴 (0)
  • あ、それとこれは Rails というより Capistrano の機能です -
  • ありがとうございます!おかげさまで、理解が深まりました。また、メソッドの定義位置に関する回答もありがとうございます!! -
ウォッチ

この質問への回答やコメントをメールでお知らせします。