Sincronizar la membresía del grupo con una lista externa de direcciones de correo electrónico

Si no tienes esos usuarios gestionados en alguna aplicación externa, podrías hacer algo como esto:

  def load_csv(path)
    CSV.parse(File.read(path), headers: true)
  end

  def update_group
   g=Group.find(43) # el ID del grupo que quieras
   GroupUser.where(group_id: g.id).destroy_all
   user_emails=load_csv('/ruta/al/archivo')
    user_emails.each do |u|
      user = User.find_by_email(u['Email'])
      next unless user
      puts "usuario encontrado #{uid}"
      GroupUser.find_or_create_by(group_id: g.id, user_id: user.id)
    end
  end

Solo cómo hacerlo es otro asunto por completo. Quizás un plugin.

¿Quizás un plugin que añada automáticamente a un usuario al grupo si publica en la categoría?