Class: CLI::UI::Prompt::OptionsHandler

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/cli/ui/prompt/options_handler.rb

Overview

A class that handles the various options of an InteractivePrompt and their callbacks

Instance Method Summary collapse

Methods included from T::Sig

sig

Constructor Details

#initializeOptionsHandler

Returns a new instance of OptionsHandler.



11
12
13
# File 'lib/cli/ui/prompt/options_handler.rb', line 11

def initialize
  @options = {}
end

Instance Method Details

#call(options) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/cli/ui/prompt/options_handler.rb', line 26

def call(options)
  case options
  when Array
    options.map { |option| @options[option].call(options) }
  else
    @options[options].call(options)
  end
end

#option(option, &handler) ⇒ Object



21
22
23
# File 'lib/cli/ui/prompt/options_handler.rb', line 21

def option(option, &handler)
  @options[option] = handler
end

#optionsObject



16
17
18
# File 'lib/cli/ui/prompt/options_handler.rb', line 16

def options
  @options.keys
end