class Manabu::Course::Enrollment

Attributes

seat_number[R]

Public Class Methods

new(client, attributes = {}) click to toggle source
# File lib/manabu/course.rb, line 8
def initialize(client, attributes = {})
  @client = client
  @id = attributes.fetch(:id, @id)
  @course_id = attributes.fetch(:course_id, @course_id)
  @student_id = attributes.fetch(:student_id, @student_id)
  @seat_number = attributes.fetch(:seat_number, @seat_number)
  @student = nil
end

Public Instance Methods

seat_number=(value) click to toggle source
# File lib/manabu/course.rb, line 25
def seat_number=(value)
  # TODO: handle when seat is occupied by another student
  # TODO: handle other errors (EG request was invalid, request timed out)
  response = @client.patch("courses/#{@course_id}/enrollments/#{@id}", seat_number: value)
  @seat_number = value
end
student() click to toggle source
# File lib/manabu/course.rb, line 17
def student
  if @student
    @student
  else
    @student = _fetch_student
  end
end

Private Instance Methods

_fetch_student() click to toggle source
# File lib/manabu/course.rb, line 34
def _fetch_student
  response = @client.get("students/#{@student_id}")
  Manabu::Student.new(@client, response)
end