class CapistranoMulticonfigParallel::InteractiveMenu
methods used for the interactive menu where are listed all aplications
Attributes
applications[RW]
choices[RW]
msg[RW]
Public Class Methods
new(applications)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 9 def initialize(applications) @applications = applications @msg = ' ' @choices = {} end
Public Instance Methods
Private Instance Methods
check_number_selected(num)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 79 def check_number_selected(num) check_numeric(num) && (num > 0 && num <= @applications.size) end
confirm_option_selected()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 45 def confirm_option_selected print 'Enter a comma-separated list of option numbers or one single option number (again to uncheck, ENTER when done): ' $stdin.gets.squeeze(' ').strip end
fetch_choice(num)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 103 def fetch_choice(num) @choices.fetch(num, '') end
print_all_websites_available_options()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 61 def print_all_websites_available_options puts 'Available options:' @applications.each_with_index do |option, index| print_selected_index_option(index, option) end puts "\n#{@msg}" if @msg.present? true end
print_option_name(option_name, index)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 39 def print_option_name(option_name, index) return unless @choices[index].present? print(" #{option_name}") @msg = '' end
print_selected_index_option(index, option)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 95 def print_selected_index_option(index, option) puts "#{(index + 1)} #{fetch_choice(index)}) #{option} " end
print_selections()
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 24 def print_selections print "\nYou selected" @msg = ' nothing' show_all_websites_interactive_menu end
setup_choices_number(num)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 99 def setup_choices_number(num) @choices[num] = @choices[num].blank? ? '+' : ' ' end
setup_message_invalid(num)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 90 def setup_message_invalid(num) return if check_number_selected(num) @msg = "Invalid option: #{num}\n" end
show_option_selected(num)
click to toggle source
# File lib/capistrano_multiconfig_parallel/classes/interactive_menu.rb, line 83 def show_option_selected(num) return unless check_number_selected(num) num -= 1 @msg += "#{@applications[num]} was #{@choices[num].present? ? 'un' : ''}checked\n" setup_choices_number(num) end