如何处理CLI错误

时间:2017-04-19 21:49:46

标签: ruby-on-rails ruby command-line-interface

我有一个简单的CLI,例如:

p 'Enter email value'
params[:email] = gets.chomp

我希望处理电子邮件验证,如果电子邮件无效,请重新运行上一个提示。

我有验证电子邮件的方法,只返回true或false,如:

p 'Enter email value'
params[:email] = gets.chomp
if email invalid
  'error- invalid email'

再次运行

p 'Enter email value'
params[:email] = gets.chomp

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用Regular Expressions执行此操作。

要验证电子邮件是否有效,您可以像这样使用正则表达式:

def validate_email
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
  if email =~ VALID_EMAIL_REGEX
    # Do someting here
  else
    validate_email
  end
end

答案 1 :(得分:0)

您可以将此代码输入until循环

p 'Enter email value'
params[:email] = gets.chomp
until email invalid do
        p 'Enter email value'
        params[:email] = gets.chomp
end

阅读详情:https://www.tutorialspoint.com/ruby/ruby_loops.htm