Class: SakaiInfo::AssignmentSubmission
Constant Summary
collapse
- @@cache =
{}
Instance Attribute Summary collapse
#attributes, #properties, #xml, #xmldoc
Attributes inherited from SakaiObject
#id
Class Method Summary
collapse
Instance Method Summary
collapse
all_serializations, #attributes_serialization, #dbrow_serialization, #format_entity_date, #parse_xml, #properties_serialization, #xml_serialization
Methods included from ModProps
included
Methods inherited from SakaiObject
all_serializations, #dbrow_only_serialization, #dbrow_serialization, #object_type_serialization, #serialize, #to_json, #to_yaml
Constructor Details
Returns a new instance of AssignmentSubmission.
98
99
100
101
102
103
104
105
106
107
108
|
# File 'lib/sakai-info/assignment.rb', line 98
def initialize(dbrow)
@dbrow = dbrow
@id = dbrow[:submission_id]
@assignment_id = dbrow[:context]
@submitter_id = dbrow[:submitter_id]
@is_submitted = (dbrow[:submitted] == "true")
@is_graded = (dbrow[:graded] == "true")
parse_xml
end
|
Instance Attribute Details
#assignment_id ⇒ Object
Returns the value of attribute assignment_id.
96
97
98
|
# File 'lib/sakai-info/assignment.rb', line 96
def assignment_id
@assignment_id
end
|
#dbrow ⇒ Object
Returns the value of attribute dbrow.
96
97
98
|
# File 'lib/sakai-info/assignment.rb', line 96
def dbrow
@dbrow
end
|
#submitter_id ⇒ Object
Returns the value of attribute submitter_id.
96
97
98
|
# File 'lib/sakai-info/assignment.rb', line 96
def submitter_id
@submitter_id
end
|
Class Method Details
.count_by_assignment_id(assignment_id) ⇒ Object
.count_by_user_id(user_id) ⇒ Object
.find_by_assignment_id(assignment_id) ⇒ Object
.find_by_user_id(user_id) ⇒ Object
.query_by_assignment_id(assignment_id) ⇒ Object
143
144
145
|
# File 'lib/sakai-info/assignment.rb', line 143
def self.query_by_assignment_id(assignment_id)
DB.connect[:assignment_submission].where(:context => assignment_id)
end
|
.query_by_user_id(user_id) ⇒ Object
156
157
158
|
# File 'lib/sakai-info/assignment.rb', line 156
def self.query_by_user_id(user_id)
DB.connect[:assignment_submission].where(:submitter_id => user_id)
end
|
Instance Method Details
#assignment ⇒ Object
127
128
129
|
# File 'lib/sakai-info/assignment.rb', line 127
def assignment
@assignment ||= Assignment.find(self.assignment_id)
end
|
#assignment_summary_serialization ⇒ Object
195
196
197
198
199
200
201
|
# File 'lib/sakai-info/assignment.rb', line 195
def assignment_summary_serialization
{
"id" => self.id,
"submitter" => User.get_eid(self.submitter_id),
"is_submitted" => self.submitted?
}
end
|
#default_serialization ⇒ Object
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
# File 'lib/sakai-info/assignment.rb', line 170
def default_serialization
result = {
"id" => self.id,
"assignment" => self.assignment.serialize(:summary),
"submitter" => self.submitter.serialize(:summary),
"is_submitted" => self.submitted?,
"submitted_at" => self.submitted_at,
"is_graded" => self.graded?,
}
if not self.submitted?
result.delete("submitted_at")
result.delete("is_graded")
end
result
end
|
#graded? ⇒ Boolean
135
136
137
|
# File 'lib/sakai-info/assignment.rb', line 135
def graded?
@is_graded || false
end
|
#submitted? ⇒ Boolean
131
132
133
|
# File 'lib/sakai-info/assignment.rb', line 131
def submitted?
( self.created_by_id == self.submitter_id && @is_submitted ) || false
end
|
#submitted_at ⇒ Object
139
140
141
|
# File 'lib/sakai-info/assignment.rb', line 139
def submitted_at
@submitted_at ||= format_entity_date(@attributes["datesubmitted"])
end
|
#submitter ⇒ Object
123
124
125
|
# File 'lib/sakai-info/assignment.rb', line 123
def submitter
@submitter ||= User.find(self.submitter_id)
end
|
#summary_serialization ⇒ Object
186
187
188
189
190
191
192
193
|
# File 'lib/sakai-info/assignment.rb', line 186
def summary_serialization
{
"id" => self.id,
"assignment_id" => self.assignment_id,
"submitter" => User.get_eid(self.submitter_id),
"is_submitted" => self.submitted?
}
end
|