class Manabu::Course

Attributes

code[R]
enrollments_count[R]
facility_id[R]
id[R]
name[R]
notes_count[R]
students_count[R]
syllbaus_id[R]

Public Class Methods

new(client, **info) click to toggle source
Calls superclass method
# File lib/manabu/course.rb, line 43
def initialize(client, **info)
  super
  @students = []
  @enrollments = []
end

Public Instance Methods

add_student(student, args = {}) click to toggle source
# File lib/manabu/course.rb, line 77
def add_student(student, args = {})
  response = @client.post("courses/#{id}/enrollments",
    student_id: student.id,
    seat_number: args[:seat_number]
  )

  Enrollment.new(@client, response).tap do |enrollment|
    @enrollments << enrollment
  end
end
enrollments() click to toggle source
# File lib/manabu/course.rb, line 69
def enrollments
  if @enrollments.any?
    @enrollments
  else
    @enrollments = _fetch_enrollments
  end
end
fill(**info) click to toggle source
# File lib/manabu/course.rb, line 49
def fill(**info)
  @id = info.fetch(:id, @id)
  @name = info.fetch(:name, @name)
  @code = info.fetch(:code, @code)
  @notes_count = info.fetch(:notes_count, @notes_count)
  @students_count = info.fetch(:students_count, @students_count)
  @enrollments_count = info.fetch(:enrollments_count, @enrollments_count)
  @facility_id = info.fetch(:facility_id, @facility_id)
  @syllabus_id = info.fetch(:syllabus_id, @syllabus_id)
  self
end
students() click to toggle source
# File lib/manabu/course.rb, line 61
def students
  if @students.any?
    @students
  else
    @students = _fetch_students
  end
end

Private Instance Methods

_fetch_enrollments() click to toggle source
# File lib/manabu/course.rb, line 97
def _fetch_enrollments
  response = @client.get("courses/#{id}/enrollments")
  response[:enrollments].map do |enrollment|
    Enrollment.new(@client, enrollment)
  end
end
_fetch_students() click to toggle source
# File lib/manabu/course.rb, line 90
def _fetch_students
  response = @client.get("courses/#{id}/students")
  response[:students].map do |student|
    Manabu::Student.new(@client, student)
  end
end