class Ahoy::QuestionHelper
Public Class Methods
boolean_question(question, key, default=nil)
click to toggle source
# File lib/generators/ahoy/lib/question_helper.rb, line 40 def self.boolean_question(question, key, default=nil) answer = Thor.new.yes?(question) Ahoy::VariableStore.add_variable(key, answer == true ? answer : false) end
question(type, &block)
click to toggle source
# File lib/generators/ahoy/lib/question_helper.rb, line 9 def self.question(type, &block) question_hash = block.call @@required = question_hash[:required] default = question_hash[:default] key = question_hash.keys[0] question = "#{question_hash[key]}:" question_divider(default) case type when :string string_question(question, key, default) when :boolean boolean_question(question, key, default) end end
question_divider(value=nil)
click to toggle source
# File lib/generators/ahoy/lib/question_helper.rb, line 45 def self.question_divider(value=nil) puts '-' * 100 puts "Default: #{value}" unless value.nil? end
string_question(question, key, default=nil)
click to toggle source
# File lib/generators/ahoy/lib/question_helper.rb, line 26 def self.string_question(question, key, default=nil) if @@required == true answer = '' until answer != '' answer = Thor.new.ask(question) Ahoy::VariableStore.add_variable(key, answer.empty? ? default : answer) puts "Answer required, but you can always change it later!!!\n\n" if answer == '' end else answer = Thor.new.ask(question) Ahoy::VariableStore.add_variable(key, answer.empty? ? default : answer) end end