class Icomoon::Cli::Survey
Attributes
questions[R]
Public Class Methods
new()
click to toggle source
# File lib/icomoon/cli/survey.rb, line 4 def initialize @questions = [] end
run() { |survey| ... }
click to toggle source
# File lib/icomoon/cli/survey.rb, line 25 def self.run survey = new yield(survey) survey.read! end
Public Instance Methods
ask(value, name, default = nil)
click to toggle source
# File lib/icomoon/cli/survey.rb, line 8 def ask(value, name, default = nil) questions << Icomoon::Cli::Question.new(value, name, default) end
read!()
click to toggle source
# File lib/icomoon/cli/survey.rb, line 12 def read! Hash.new.tap do |answers| questions.each do |q| Icomoon::Cli.log "#{'question'.light_black} #{q.name} (#{q.default || 'none'}): " answer = (gets || '').chomp answer = q.default if /\A[\s]*\z/.match?(answer) answers[q.value] = answer end end end