2

Railsコンソール内にCapistrano環境をロードするための最良の方法は何ですか?

capistranoがlatest_release、sourceなどのデプロイで使用している変数とメソッドにアクセスしたいと思います。

複雑なcapistranoタスクをハックアウトしようとすると、Rubyデバッグは効率的ではありません。

4

1 に答える 1

4

Railsコンソール内では、2つの環境が競合する可能性があるため、おそらく実用的ではありません。ただし、インタラクティブコンソールでは難しくありません。単純に1つをスピンアップするCapistranoタスクを追加できます。

task :console do
  require 'irb'
  $config = self
  ARGV.clear
  IRB.start
end

これにより、現在の構成オブジェクトがグローバルとして公開されます$config。グローバル変数の使用は少し醜いですが、IRBのデフォルトコンテキストをmainオブジェクトから切り替える方法を見つけることができませんでした。

于 2012-05-03T14:37:32.157 に答える