Method: HighLine::Question#initialize

Defined in:
lib/highline/question.rb

#initialize(template, answer_type) {|_self| ... } ⇒ Question

Create an instance of HighLine::Question. Expects a template to ask (can be "") and an answer_type to convert the answer to. The answer_type parameter must be a type recognized by Question.convert(). If given, a block is yielded the new Question object to allow custom initialization.

Parameters:

  • template (String)

    any String

  • answer_type (Class)

    the type the answer will be converted to it.

Yields:

  • (_self)

Yield Parameters:



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/highline/question.rb', line 52

def initialize(template, answer_type)
  # initialize instance data
  @template    = String(template).dup
  @answer_type = answer_type
  @completion  = @answer_type

  @echo         = true
  @whitespace   = :strip
  @case         = nil
  @in           = nil
  @first_answer = nil
  @glob         = "*"
  @overwrite    = false
  @user_responses = {}
  @internal_responses = default_responses_hash
  @directory = Pathname.new(File.expand_path(File.dirname($PROGRAM_NAME)))

  # allow block to override settings
  yield self if block_given?

  # finalize responses based on settings
  build_responses
end