Я пытаюсь создать файл рейка с задачами для использования моего 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 ")' i.e задача в основном пространстве имен. – BoraMa