class Downup::OptionsPrinter

Attributes

colonel[R]
default_color[R]
multi_select_selector[R]
multi_selected_positions[R]
options[R]
selected_color[R]
selected_position[R]
selector[R]
stdin[R]
stdout[R]
type[R]

Public Class Methods

new(options:, selected_position: 0, default_color: :brown, selected_color: :magenta, selector: "‣", multi_selected_positions: [], multi_select_selector: "√", type: :default, stdin: $stdout, stdout: $stdout) click to toggle source
# File lib/downup/options_printer.rb, line 7
def initialize(options:,
               selected_position: 0,
               default_color: :brown,
               selected_color: :magenta,
               selector: "‣",
               multi_selected_positions: [],
               multi_select_selector: "√",
               type: :default,
               stdin: $stdout,
               stdout: $stdout)

  @options                  = options
  @default_color            = default_color
  @selected_position        = selected_position
  @selected_color           = selected_color
  @multi_selected_positions = multi_selected_positions
  @multi_select_selector    = multi_select_selector
  @selector                 = selector
  @type                     = type
  @stdin                    = stdin
  @stdout                   = stdout
  @colonel                  = Kernel
end

Public Instance Methods

print_options() click to toggle source

Private Instance Methods

colorize_option(option, index) click to toggle source
# File lib/downup/options_printer.rb, line 94
def colorize_option(option, index)
  if index == selected_position
    eval("option.#{selected_color}")
  else
    eval("option.#{default_color}")
  end
end
options_has_value_and_display?() click to toggle source

Duplicated in Base, maybe move onto Hash and String with contrainsts

# File lib/downup/options_printer.rb, line 103
def options_has_value_and_display?
  options.values.all? { |option|
    option.is_a?(Hash) && option.has_key?("value")
  } && options.values.all? { |option|
    option.is_a?(Hash) && option.has_key?("display")
  }
end
print_array_options() click to toggle source
print_complex_hash_options() click to toggle source
print_simple_hash_options() click to toggle source