module InfinumId module Users class Invite def initialize(user_params, current_user) @user_params = user_params @current_user = current_user end def self.call(user_params, current_user) new(user_params, current_user).call end def call @user = User.create(@user_params) send_invite_request if @user.errors.empty? @user end private attr_reader :current_user, :user def send_invite_request InfinumId::Users::InviteWorker.perform_async(@user.id, current_user.uid) end end end end