Module: DInstaller::CanAskQuestion

Included in:
Storage::Callbacks::ActivateLuks, Storage::Callbacks::ActivateMultipath
Defined in:
lib/dinstaller/can_ask_question.rb

Overview

Mixin providing a method to ask a question and wait

Instance Method Summary collapse

Instance Method Details

#ask(question) {|Question| ... } ⇒ Symbol, Object

Asks the given question and waits until the question is answered

Examples:

ask(question1)                           #=> Symbol
ask(question2) { |q| q.answer == :yes }  #=> Boolean

Parameters:

Yields:

  • (Question)

    Gives the answered question to the block.

Returns:

  • (Symbol, Object)

    The question answer, or the result of the block in case a block is given.



39
40
41
42
43
44
45
46
# File 'lib/dinstaller/can_ask_question.rb', line 39

def ask(question)
  questions_manager.add(question)
  questions_manager.wait
  result = block_given? ? yield(question) : question.answer
  questions_manager.delete(question)

  result
end

#questions_managerQuestionsManager

Note:

Classes including this mixin must define a #questions_manager method

Returns:



# File 'lib/dinstaller/can_ask_question.rb', line 25