Sha256: e65dd22cd2770eed3c0c9124fbcc175a7f8b3ca93940a52cfb472ea79afa22be
Contents?: true
Size: 980 Bytes
Versions: 3
Compression:
Stored size: 980 Bytes
Contents
module Lessonly class Course < Resource has_many :assignments def initialize(agent, data = {}) super(agent, data) define_has_many_lessons if @attrs[:lessons] end def define_has_many_lessons self.lessons = @attrs[:lessons].map do |l| Lessonly::Lesson.new(agent, l.attrs) end end def create_assignment(users, due_by = 1.year.from_now) users = [users] unless users.is_a? Array new_assignments = users.map do |user| Lessonly::Assignment.new(agent, assignee_id: user.id, due_by: due_by) end self.assignments = assignments + new_assignments client.put "#{href}/assignments", Resource.new(agent, assignments: new_assignments) end def destroy_assignment(user) self.assignments = assignments.select { |a| a.assignee_id != user.id } client.put "#{href}/assignments", Resource.new(agent, assignments: assignments) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lessonly-ruby-0.1.3 | lib/lessonly/resource/course.rb |
lessonly-ruby-0.1.2 | lib/lessonly/resource/course.rb |
lessonly-ruby-0.1.1 | lib/lessonly/resource/course.rb |