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