定义最小和最大长度

时间:2018-07-03 11:38:23

标签: ruby rspec faker

如何定义由生成的用户登录的最小和最大长度

FFaker::InternetSE.login_user_name

用过的宝石FFaker

1 个答案:

答案 0 :(得分:2)

您可以存储FFaker::InternetSE.login_user_name的结果,并检查生成的字符串的大小是否在所需的最小和最大长度之间,如果是,请返回它,否则再次调用该函数:

require 'ffaker'

def login_user_name(min, max)
  raise 'max can not be minor than min' if min > max
  username = FFaker::InternetSE.login_user_name
  username.size.between?(min, max) ? username : login_user_name(min, max)
end

p login_user_name(8, 9) # christian
p login_user_name(9, 8) # `login_user_name': max can not be minor than min (RuntimeError)