class VideoSessionRoom

Schema Information

Table name: video_session_rooms

id                  :integer          not null, primary key
university_id          :integer
tutoring_session_id   :integer
session_id          :string(255)
closed              :boolean          default(FALSE)
created_at          :datetime
updated_at          :datetime
tutor_session_id :text
user_session_id     :text

Public Instance Methods

close!() click to toggle source

To close the session.

# File app/models/video_session_room.rb, line 35
def close!
  transaction do
    tutoring_session.update_columns(end_time: Time.now)
    invoice = tutoring_session.find_or_build_invoice
    invoice.assign_payable_amount
    invoice.save!
    update_columns(closed: true)
  end
end
generate_opentok_session_id(user = User.current) click to toggle source

To generate opentok session id for user.

# File app/models/video_session_room.rb, line 27
def generate_opentok_session_id(user = User.current)
  session = $opentok.create_session
  self.session_id = session.session_id
  self.user_session_id = session.generate_token
  self.tutor_session_id = session.generate_token
end
token_for(user) click to toggle source

Returns session id for user.

# File app/models/video_session_room.rb, line 46
def token_for(user)
  if tutoring_session.tutor == user
    tutor_session_id
  else
    user_session_id
  end
end