0
私は、APIを消費するためのタスクを含むレーキファイルを作成しようとしています。私は、使用されるコールに応じて、タスクに多くの引数を渡すことができたいと思っています。タスクを使いやすくするために、ネームスペースを設定の一部にしたいと考えています。これは可能ですか?rake名前空間を設定として使用しますか?
namespace :myAPI do
SERVER = 'local'
namespace :live do
SERVER = 'live'
end
namespace :beta do
SERVER = 'beta'
end
BASE_URI = {
live: "https://myapi.com/do/v1",
beta: "https://beta.myapi.com/do/v1",
local: "http://127.0.0.1:4500/do/v1"
}
desc 'Get currently logged users'
task :extract_logged_users => :environment do
get("BASE_URI[SERVER]/users/current")
end
}
そして私はできるようにし、例えば、ライブサーバーに対してこれを実行したい:
rake myAPI:live:extract_logged_users
さて、このように書かれている場合、タスク 'extract_logged_users' 'myAPI'名前空間でのみ定義されています。さらに、この方法で 'SERVER'定数を複数回再定義します(そしてレーキは警告を出します)。 – BoraMa
メインの 'myAPI'ネームスペースでタスクを定義し、すべてのサブネームスペースで同じタスクを動的に定義することができます。これらの動的タスクは必要な変数のみを設定し、 'invoke(" myAPI:the_task ")、すなわちメイン名前空間のタスクを呼び出します。 – BoraMa