class BBFlow::Printer
Public Class Methods
ask(question)
click to toggle source
@param [String] question
@return [String] answer
# File lib/bb_flow/printer.rb, line 7 def ask(question) puts note(question) print('> ') gets.strip end
auxiliary(message)
click to toggle source
@param [String] message
@return [void]
# File lib/bb_flow/printer.rb, line 56 def auxiliary(message) puts(message.colorize(:light_black)) end
error(message)
click to toggle source
@param [String] message
@return [void]
# File lib/bb_flow/printer.rb, line 35 def error(message) puts("[ERROR] #{message}".colorize(:red)) end
note(message)
click to toggle source
@param [String] message
@return [void]
# File lib/bb_flow/printer.rb, line 49 def note(message) puts(message.colorize(:yellow)) end
panic(message)
click to toggle source
@param [String] message
@return [void]
# File lib/bb_flow/printer.rb, line 27 def panic(message) error(message) abort end
select_item(items, title, formatter: :name.to_proc)
click to toggle source
@param [Array<#name>] items @param [String] title
@return [#name]
# File lib/bb_flow/printer.rb, line 64 def select_item(items, title, formatter: :name.to_proc) puts note(title) auxiliary('Move: arrows, j/k, or Ctrl-N/P Finish: return') Ansi::Selector.select(items, formatter: formatter) end
select_items(items, title, formatter: :name.to_proc, preselected: [])
click to toggle source
@param [Array<#name>] items @param [String] title
@return [Array<#name>]
# File lib/bb_flow/printer.rb, line 75 def select_items(items, title, formatter: :name.to_proc, preselected: []) puts note(title) # TODO: Remove after implementing it in ansi-select. auxiliary('Move: arrows or j/k Toggle: space Finish: return') Ansi::Selector.multi_select(items, formatter: formatter, preselected: preselected) end
simple_question(question)
click to toggle source
@param [String] question
@return [Boolean] positive answer
# File lib/bb_flow/printer.rb, line 17 def simple_question(question) yes = 'Yes, please' no = 'No, thank you' select_item([yes, no], question, formatter: :to_s.to_proc) == yes end
success(message)
click to toggle source
@param [String] message
@return [void]
# File lib/bb_flow/printer.rb, line 42 def success(message) puts(message.colorize(:green)) end