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.


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

def initialize
  @options = {}
end

Instance Method Details

#call(options) ⇒ Object


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

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


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

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

#optionsObject


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

def options
  @options.keys
end