Skip to content

module Athena::Console::Question::Base(T) #

Common logic shared between all question types. See each type for more information.

Direct including types

Athena::Console::Question(T) Athena::Console::Question::AbstractChoice(T, ChoiceType)

Constructors#

.new(question : String, default : T)#

Methods#

#default : T#

Returns the default value if no valid input is provided.

#hidden=(hidden : Bool) : self#

Sets if the answer should be hidden. See Hiding User Input.

#hidden? : Bool#

Returns the answer should be hidden. See Hiding User Input.

#hidden_fallback=(hidden_fallback : Bool)#

If hidden questions should fallback on making the response visible if it was unable to be hidden. See Hiding User Input.

#hidden_fallback? : Bool#

If hidden questions should fallback on making the response visible if it was unable to be hidden. See Hiding User Input.

#max_attempts : Int32 | ::Nil#

Returns how many attempts the user has to enter a valid value when a #validator is set. See Validating the Answer.

#max_attempts=(attempts : Int32 | Nil) : self#

Allow at most attempts for the user to enter a valid value when a #validator is set. If attempts is nil, they have an unlimited amount.

See Validating the Answer.

#multi_line=(multi_line : Bool)#

If multi line text should be allowed in the response. See Multiline Input.

#multi_line? : Bool#

If multi line text should be allowed in the response. See Multiline Input.

#normalizer : Proc(T | String, T) | ::Nil#

#normalizer : Nil#

Sets the normalizer callback to this block. See Normalizing the Answer.

#normalizer=(normalizer : Proc(T | String, T) | Nil)#

#question : String#

Returns the question that should be asked.

#trimmable=(trimmable : Bool)#

Returns/sets if the answer value should be automatically trimmed. See Trimming the Answer.

#trimmable? : Bool#

Returns/sets if the answer value should be automatically trimmed. See Trimming the Answer.