Class: BooticCli::Commands::Themes::Prompt

Inherits:
Object
  • Object
show all
Defined in:
lib/bootic_cli/commands/themes.rb

Instance Method Summary collapse

Constructor Details

#initialize(shell = Thor::Shell::Color.new) ⇒ Prompt

Returns a new instance of Prompt.



172
173
174
# File 'lib/bootic_cli/commands/themes.rb', line 172

def initialize(shell = Thor::Shell::Color.new)
  @shell = shell
end

Instance Method Details

#highlight(str, color = :bold) ⇒ Object



199
200
201
# File 'lib/bootic_cli/commands/themes.rb', line 199

def highlight(str, color = :bold)
  shell.set_color str, color
end

#notice(str) ⇒ Object



190
191
192
193
# File 'lib/bootic_cli/commands/themes.rb', line 190

def notice(str)
  parts = [" --->", str]
  puts highlight parts.join(' ')
end

#say(str, color = nil) ⇒ Object



195
196
197
# File 'lib/bootic_cli/commands/themes.rb', line 195

def say(str, color = nil)
  shell.say str, color
end

#yes_or_no?(question, default_answer) ⇒ Boolean

Returns:

  • (Boolean)


176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/bootic_cli/commands/themes.rb', line 176

def yes_or_no?(question, default_answer)
  default_char = default_answer ? 'y' : 'n'

  begin
    input = shell.ask("#{question} [#{default_char}]").strip
  rescue Interrupt
    say "\nCtrl-C received. Bailing out!", :magenta
    abort
  end

  return default_answer if input == '' || input.downcase == default_char
  !default_answer
end