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.



320
321
322
# File 'lib/bootic_cli/commands/themes.rb', line 320

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

Instance Method Details

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



356
357
358
# File 'lib/bootic_cli/commands/themes.rb', line 356

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

#notice(str) ⇒ Object



347
348
349
350
# File 'lib/bootic_cli/commands/themes.rb', line 347

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

#pause(string, color = nil) ⇒ Object



338
339
340
341
342
343
344
345
# File 'lib/bootic_cli/commands/themes.rb', line 338

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



352
353
354
# File 'lib/bootic_cli/commands/themes.rb', line 352

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

#yes_or_no?(question, default_answer) ⇒ Boolean

Returns:

  • (Boolean)


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

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