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.



307
308
309
# File 'lib/bootic_cli/commands/themes.rb', line 307

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

Instance Method Details

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



343
344
345
# File 'lib/bootic_cli/commands/themes.rb', line 343

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

#notice(str) ⇒ Object



334
335
336
337
# File 'lib/bootic_cli/commands/themes.rb', line 334

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

#pause(string, color = nil) ⇒ Object



325
326
327
328
329
330
331
332
# File 'lib/bootic_cli/commands/themes.rb', line 325

def pause(string, color = nil)
  begin
    input = shell.ask(string, color)
  rescue Interrupt
    say "\nCtrl-C received. Bailing out!", :magenta
    exit
  end
end

#say(str, color = nil) ⇒ Object



339
340
341
# File 'lib/bootic_cli/commands/themes.rb', line 339

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

#yes_or_no?(question, default_answer) ⇒ Boolean

Returns:

  • (Boolean)


311
312
313
314
315
316
317
318
319
320
321
322
323
# File 'lib/bootic_cli/commands/themes.rb', line 311

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
    exit
  end

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