Методы передачи параметров в задачах Rake: аргументы командной строки, переменные среды и файлы конфигурации

Чтобы передать параметры в задачу Rake, вы можете использовать аргументы командной строки или переменные среды. Вот несколько методов, которые вы можете использовать:

  1. Аргументы командной строки: вы можете передавать параметры непосредственно из командной строки при выполнении задачи Rake. Определите свою задачу для приема аргументов, используя параметр args. Например:

    task :my_task, [:param1, :param2] => :environment do |task, args|
     param1 = args[:param1]
     param2 = args[:param2]
    
     # Your task logic here
    end

    Затем вы можете выполнить задачу и передать параметры следующим образом:

    rake my_task[param1_value,param2_value]
  2. Переменные среды. Другой подход — использовать переменные среды для передачи параметров. Вы можете получить доступ к переменным среды в вашей задаче Rake, используя хеш ENV. Например:

    task :my_task => :environment do
     param1 = ENV['PARAM1']
     param2 = ENV['PARAM2']
    
     # Your task logic here
    end

    Перед выполнением задачи необходимо установить переменные среды:

    PARAM1=param1_value PARAM2=param2_value rake my_task
  3. Файл конфигурации: вы можете сохранить свои параметры в файле конфигурации (например, YAML или JSON) и загрузить их в задачу Rake. Такой подход позволяет обновлять параметры без изменения кода задачи. Вот пример использования файла YAML:

    require 'yaml'
    
    task :my_task => :environment do
     config = YAML.load_file('config.yml')
     param1 = config['param1']
     param2 = config['param2']
    
     # Your task logic here
    end

    В файле config.yml:

    param1: param1_value
    param2: param2_value

    Затем вы можете выполнить задачу, используя:

    rake my_task