Class: Stellar::HomeworkList
- Inherits:
-
Object
- Object
- Stellar::HomeworkList
- Defined in:
- lib/stellar/homework.rb
Overview
Homework listing functionality.
Instance Method Summary collapse
-
#all ⇒ Array<Stellar::Homework>
All assignments in this course’s homework module.
-
#initialize(course) ⇒ HomeworkList
constructor
Creates a Stellar client scoped to a course’s Homework module.
-
#named(name) ⇒ Stellar::Homework
An assignment in the course’s homework module.
Constructor Details
#initialize(course) ⇒ HomeworkList
Creates a Stellar client scoped to a course’s Homework module.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/stellar/homework.rb', line 9 def initialize(course) @course = course @client = course.client @url = course.['Homework'] page = @client.get_nokogiri @url @assignments = page.css('#content a[href*="assignment"]').map { |link| name = link.inner_text url = URI.join page.url, link['href'] begin Stellar::Homework.new url, name, course rescue ArgumentError nil end }.reject(&:nil?) end |
Instance Method Details
#all ⇒ Array<Stellar::Homework>
All assignments in this course’s homework module.
28 29 30 |
# File 'lib/stellar/homework.rb', line 28 def all @assignments end |
#named(name) ⇒ Stellar::Homework
An assignment in the course’s homework module.
36 37 38 |
# File 'lib/stellar/homework.rb', line 36 def named(name) @assignments.find { |a| a.name == name } end |