Интерактивная подсказка с тор - PullRequest
10 голосов
/ 05 января 2011

Я хочу как-то попросить пользователя сказать его flickr_id, flickr_apikey и тому подобное, но id 'будет очень рад сделать это под моей командой установки, чтобы он не оказался такой длинной и тяжелой строкой из-зааргументы.

так что-то типа

$ thor PhotoonRails:install
We're about to install your system.. blaa, blaa, blaa...
We have to know you're Flick ID, get i here http://idgettr.com/
Flickr ID: {here you should type your id}

We also has to know you're flick api key, make one here ...
API Key: {here you should type your key}

и так далее?Вы поняли, и можно ли это сделать?

Ответы [ 2 ]

18 голосов
/ 05 января 2011

Действительно, может!

Вы ищете ask.

Пример:

class PhotoonRails < Thor
  desc "install", "install my cool stuff"
  def install
    say("We're about to install your system.. blaa, blaa, blaa... We have to know you're Flick ID, get i here http://idgettr.com")
    flickr_id = ask("Flickr ID: ")

    say("We also has to know you're flick api key, make one here ...")
    flickr_api_key = ask("API Key: ")

    # validate flickr creds
    # do cool stuff

    say("Complete!", GREEN)
  end
end
4 голосов
/ 25 октября 2014

Также возможно установить цвет как символ

say "Caution!", :yellow
ask 'Agreed?', :bold
# Choose limit:
ask "We have noticed.", :green, limited_to: ['proceed', 'exit']
# Default value (possible without :blue)
ask 'Type app name', :blue, deafult: 'blog'

Полный список доступных цветов для Thor, здесь: http://www.rubydoc.info/github/wycats/thor/Thor/Shell/Color

...