You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: opening_reminder_concern.rb
    path of file: ./repos/coursemology2/app/models/concerns/course
    
    the code of the file until where you have to start completion: # frozen_string_literal: true
#
# This concern provides common reminder methods for lesson_plan_items, specifically reminders:
#   - When the lesson_plan_item is open for students to attempt
#
# When including this concern, the model is to implement the following for the reminders:
#   - #{Model-Name}::OpeningReminderJob
#
# Note that to prev
    
  def setup_opening_reminders
    # Use current time as token to prevent duplicate notification. The float need to be round so
    # that the value stores in database will be consistent with the value passed to the job.
    self.opening_reminder_token = Time.zone.now.to_f.round(5)

    # Determine whether or not to send the opening reminder.
    send_opening_reminder = start_at && should_send_opening_reminder

    execute_after_commit do
      if send_opening_reminder
        opening_reminder_job_class.set(wait_until: start_at).
          perform_later(updater, self, opening_reminder_token)
      end
    end