class GroupScheduleNotificationWorker

Public Instance Methods

perform(schedule_id) click to toggle source

Sends notification for group schedule.

# File app/workers/group_schedule_notification_worker.rb, line 6
def perform(schedule_id)
  @schedule = Schedule.find(schedule_id)
  user_ids = @schedule.shared_with_users.except_user(@schedule.owner).map(&:id) - @schedule.confirmations.map(&:user_id)
  users = User.find(user_ids)
  users.each do |user|
    @schedule.create_activity(owner: @schedule.owner, key: "group_#{@schedule.type.downcase}.create", type: "Notification", recipient: user)
    if user.notification_enabled_for?('schedule')
      EventMailer.delay(queue: :mailer).new_group_creation_email(@schedule.id, user.id)
    end
  end
end