Логика для проверки наличия аргумента командной строки для задачи raike rake? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть задача rake, которая возвращает количество записей для данного письма.Электронная почта предоставляется задаче rake в качестве аргумента командной строки, например

rake stats:count email=me@gmail.com

Но если задача rake называется без предоставленного сообщения электронной почты (т.е. rake stats:count), яхотелось бы, чтобы появилось полезное сообщение, например «Пожалуйста, укажите адрес электронной почты»

Как мне это сделать?

Я пробовал это

email = ENV['email']
if email.nil? puts "Please provide an email"
end

Но с ошибками NameError: undefined local variable or method email' for main:Object

1 Ответ

0 голосов
/ 01 июля 2019

Аргумент, предоставленный для задачи rake через var=value, доступен внутри задачи rake с ENV['var'].

Если аргумент не указан, ENV['var'] вернет nil.

Так что вы можете просто проверить ENV['email'].nil?

1012 * т.е. *

if ENV['email'].nil?
  puts "Please provide an email" 
else
  # code to run if email is provided
end

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...