Method: Flydata::Command::Base#ask_yes_no

Defined in:
lib/flydata/command/base.rb

#ask_yes_no(message, default_yes = true) ⇒ Object



115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/flydata/command/base.rb', line 115

def ask_yes_no(message, default_yes=true)
  suffix = default_yes ? "(Y/n)" : "(y/n)"
  prompt = "#{message} #{suffix}:  "
  if opts && opts.yes? # Yes option
    log_info_stdout("#{prompt}Yes")
    return true
  end

  loop do
    ans = ask(prompt)
    return true if default_yes and ans == ''
    if ans.size > 0
      case ans[0].downcase
      when 'y'
        log_info("#{prompt}Yes")
        return true
      when 'n'
        log_info("#{prompt}No")
        return false
      end
    end
    log_warn_stderr(" ! Please answer y[es] or n[o]")
    newline
  end
end