Class: Assignment
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Assignment
- Defined in:
- app/models/assignment.rb
Instance Attribute Summary collapse
-
#date ⇒ Object
Returns the value of attribute date.
-
#hour ⇒ Object
Returns the value of attribute hour.
-
#minute ⇒ Object
Returns the value of attribute minute.
Class Method Summary collapse
-
.list_assignments_for_student(student_id, type = :all) ⇒ Object
To get list of all the assignments for the student from the courses he has registered.
-
.reposition(ids) ⇒ Object
Re-position: change the sequence of Assignments.
Instance Method Summary collapse
- #formatted_maximum_score ⇒ Object
-
#get_student_deliverable(student_id) ⇒ Object
To get the list of deliverables submitted by the student.
-
#get_student_grade(student_id) ⇒ Object
To get the student grade for an assignment.
- #name_with_type ⇒ Object
- #set_due_date(date, hour, minute) ⇒ Object
-
#verify_deliverables_submitted ⇒ Object
To check whether the deliverable is submitted or not.
Instance Attribute Details
#date ⇒ Object
Returns the value of attribute date.
24 25 26 |
# File 'app/models/assignment.rb', line 24 def date @date end |
#hour ⇒ Object
Returns the value of attribute hour.
24 25 26 |
# File 'app/models/assignment.rb', line 24 def hour @hour end |
#minute ⇒ Object
Returns the value of attribute minute.
24 25 26 |
# File 'app/models/assignment.rb', line 24 def minute @minute end |
Class Method Details
.list_assignments_for_student(student_id, type = :all) ⇒ Object
To get list of all the assignments for the student from the courses he has registered.
90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'app/models/assignment.rb', line 90 def self.list_assignments_for_student student_id, type= :all student = User.find(student_id) courses = case type when :all student.registered_courses when :current student.registered_for_these_courses_during_current_semester when :past student.registered_for_these_courses_during_past_semesters end assignments = Assignment.unscoped.find_all_by_course_id(courses.map(&:id), :order => "course_id ASC, id ASC") end |
.reposition(ids) ⇒ Object
Re-position: change the sequence of Assignments
104 105 106 |
# File 'app/models/assignment.rb', line 104 def self.reposition(ids) update_all(["assignment_order = STRPOS(?, ','||id||',')", ",#{ids.join(',')},"], {:id => ids}) end |
Instance Method Details
#formatted_maximum_score ⇒ Object
81 82 83 84 85 86 87 |
# File 'app/models/assignment.rb', line 81 def formatted_maximum_score if self.course.nil? || self.course.grading_rule.nil? || self.course.grading_rule.grade_type=="points" self.maximum_score.to_s else "100" end end |
#get_student_deliverable(student_id) ⇒ Object
To get the list of deliverables submitted by the student.
65 66 67 68 69 70 71 72 73 74 |
# File 'app/models/assignment.rb', line 65 def get_student_deliverable student_id if self.is_team_deliverable? team = User.find(student_id).teams.find_by_course_id(self.course_id) unless team.nil? self.deliverables.find_by_team_id(team.id) end else self.deliverables.find_by_creator_id(student_id) end end |
#get_student_grade(student_id) ⇒ Object
To get the student grade for an assignment.
77 78 79 |
# File 'app/models/assignment.rb', line 77 def get_student_grade student_id Grade.get_grade(self.course.id, self.id, student_id) end |
#name_with_type ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/models/assignment.rb', line 39 def name_with_type unless self.course.grading_rule.nil? nomenclature = self.course.nomenclature_assignment_or_deliverable.capitalize else nomenclature = "deliverable" end if self.task_number.blank? task = "" else task = "Task #{self.task_number}. " end if self.is_team_deliverable? task + self.name + " (Team " + nomenclature + ")" else task + self.name + " (Individual " + nomenclature + ")" end end |
#set_due_date(date, hour, minute) ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'app/models/assignment.rb', line 108 def set_due_date date, hour, minute self.date = date self.hour = hour self.minute = minute if self.date.blank? self.due_date = nil return end if self.hour.blank? self.hour = "22" self.minute = "0" end if self.minute.blank? self.minute = "0" end self.due_date = "#{self.date} #{self.hour}:#{self.minute}" end |
#verify_deliverables_submitted ⇒ Object
To check whether the deliverable is submitted or not.
60 61 62 |
# File 'app/models/assignment.rb', line 60 def verify_deliverables_submitted self.deliverables.size <= 0 end |