class Stellar::Gradebook

Stellar client scoped to a course's Gradebook module.

Attributes

client[R]

Generic Stellar client used to make requests.

course[R]

The course whose Gradebook is exposed by this client.

navigation[R]

Maps the text in navigation links to URI objects.

Example: navigation => <# URI: …/ >

Public Class Methods

new(course) click to toggle source

Creates a Stellar client scoped to a course's Gradebook module.

@param [Stellar::Course] the course whose gradebook is desired

# File lib/stellar/gradebook.rb, line 20
def initialize(course)
  @course = course
  @client = course.client
  @url = course.navigation['Gradebook']
  
  page = @client.get_nokogiri @url
  @navigation = Hash[page.css('#toolBox dd a').map { |link|
    [link.inner_text.strip, URI.join(page.url, link['href'])]
  }]
end

Public Instance Methods

assignments() click to toggle source

All assignments in this course's Gradebook module. @return [Stellar::Gradebook::AssignmentList] list of assignments in this

gradebook
# File lib/stellar/gradebook.rb, line 34
def assignments
  @assignments ||= Stellar::Gradebook::AssignmentList.new self
end
students() click to toggle source

All students in this course's Gradebook module. @return [Stellar::Gradebook::StudentList] list of students in this gradebook

# File lib/stellar/gradebook.rb, line 40
def students
  @students ||= Stellar::Gradebook::StudentList.new self
end