私の標準deploy.rb
ファイルに名前空間のセットがあるとしましょう。渡す変数に基づいて RPM パッケージを一覧表示する一般的なタスクがあります。capture
これをそのまま実行すると、未定義のメソッドであると不平を言います。そのメソッドをdeploy.rb
ファイル内に含めると、問題なく動作します。
私はRubyとOOPが初めてなので、これを間違った方法で行っていると確信しています。:-)
deploy.rb
load 'config/module'
namespace :lp_app do
desc "LP tasks"
co = Tasks::Commands.new()
task :list do
co.list_pkg("LP")
end
end
モジュール.rb
module Tasks
class Commands
def list_pkg(component)
File.open("#{component}.file.list", "r").each_line do |line|
pkg_name = "#{line}".chomp
set :server_pkg, capture("rpm -q #{pkg_name}")
puts "#{server_pkg}"
end
end
end
end