Class: SourceMonitor::Setup::Prompter
- Inherits:
-
Object
- Object
- SourceMonitor::Setup::Prompter
- Defined in:
- lib/source_monitor/setup/prompter.rb
Instance Method Summary collapse
- #ask(question, default: nil) ⇒ Object
-
#initialize(shell: Thor::Shell::Basic.new, auto_yes: false) ⇒ Prompter
constructor
A new instance of Prompter.
- #yes?(question, default: true) ⇒ Boolean
Constructor Details
#initialize(shell: Thor::Shell::Basic.new, auto_yes: false) ⇒ Prompter
Returns a new instance of Prompter.
8 9 10 11 |
# File 'lib/source_monitor/setup/prompter.rb', line 8 def initialize(shell: Thor::Shell::Basic.new, auto_yes: false) @shell = shell @auto_yes = auto_yes end |
Instance Method Details
#ask(question, default: nil) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/source_monitor/setup/prompter.rb', line 13 def ask(question, default: nil) return default if auto_yes prompt = default ? "#{question} [#{default}]" : question response = shell.ask(prompt).to_s.strip response.empty? ? default : response end |
#yes?(question, default: true) ⇒ Boolean
21 22 23 24 25 26 27 28 29 |
# File 'lib/source_monitor/setup/prompter.rb', line 21 def yes?(question, default: true) return default if auto_yes suffix = default ? "Y/n" : "y/N" response = shell.ask("#{question} (#{suffix})").to_s.strip.downcase return default if response.empty? %w[y yes].include?(response) end |