井原(@ihara2525)です。
サービスへのログイン時に、メールアドレスがexample.comかgmail.comなユーザなら許可する、みたいなことを、以下のように実装してみました。
ENV['USER_DOMAIN']
には'example.com gmail.com'みたいにスペースで区切ったドメインの文字列が入っているとして、
app/models/user.rb
class User < ActiveRecord::Base VALID_EMAIL_REGEXP = /\A(.+)@#{Regexp.union(ENV['USER_DOMAIN'].split)}\z/ validates :email, format: { with: VALID_EMAIL_REGEXP } end
こんな感じですか。
Regexp.unionが渡された配列を|で連結してくれるのがありがたいですね〜。