openagent 0.8.7 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/openagent/message_builder.rb +3 -7
- data/lib/openagent/version.rb +1 -1
- data/lib/openagent.rb +8 -0
- data/lib/sif/infra/common/event_object.rb +31 -23
- data/lib/sif/infra/common/message.rb +14 -2
- data/lib/sif/models/groups/grades/grading_assignment.rb +26 -0
- data/lib/sif/models/groups/grades/grading_assignment_score.rb +23 -0
- data/lib/sif/models/groups/grades/grading_category.rb +20 -0
- data/lib/sif/representations/infra/common/event_object.rb +16 -7
- data/lib/sif/representations/models/groups/grades/grading_assignment.rb +29 -0
- data/lib/sif/representations/models/groups/grades/grading_assignment_score.rb +27 -0
- data/lib/sif/representations/models/groups/grades/grading_category.rb +24 -0
- data/lib/sif/sif.rb +11 -0
- data/openagent.gemspec +1 -0
- data/spec/event_spec.rb +54 -0
- data/spec/fixtures/sif/grading_assignment.xml +8 -0
- data/spec/fixtures/sif/grading_assignment_score.xml +5 -0
- data/spec/fixtures/sif/grading_category.xml +3 -0
- metadata +32 -2
@@ -43,21 +43,17 @@ module OpenAgent
|
|
43
43
|
)
|
44
44
|
end
|
45
45
|
|
46
|
-
def event(object_name, action='Change',
|
46
|
+
def event(object_name, action='Change', object_model=nil)
|
47
47
|
SIF::Infra::Common::Message.new(
|
48
48
|
:version => @agent.msg_version,
|
49
49
|
:xmlns => @agent.msg_xmlns,
|
50
|
-
:event => SIF::Infra::
|
50
|
+
:event => SIF::Infra::Message::Event.new(
|
51
51
|
:header => create_header,
|
52
52
|
:object_data => SIF::Infra::Common::ObjectData.new(
|
53
53
|
:event_object => SIF::Infra::Common::EventObject.new(
|
54
54
|
:object_name => object_name,
|
55
55
|
:action => action,
|
56
|
-
:
|
57
|
-
SIF::Infra::Common::Object.new(
|
58
|
-
:object_name => object_name
|
59
|
-
)
|
60
|
-
]
|
56
|
+
:object => object_model
|
61
57
|
)
|
62
58
|
)
|
63
59
|
)
|
data/lib/openagent/version.rb
CHANGED
data/lib/openagent.rb
CHANGED
@@ -2,3 +2,11 @@ require 'openagent/message_builder'
|
|
2
2
|
require 'openagent/zone'
|
3
3
|
require 'openagent/agent'
|
4
4
|
require 'openagent/client'
|
5
|
+
|
6
|
+
require 'active_support/inflector'
|
7
|
+
|
8
|
+
module SIF
|
9
|
+
def self.repr(obj)
|
10
|
+
obj.class.to_s.sub('SIF::', 'SIF::Representation::').constantize.new(obj)
|
11
|
+
end
|
12
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'active_support/inflector'
|
1
2
|
module SIF
|
2
3
|
module Infra
|
3
4
|
module Common
|
@@ -6,39 +7,46 @@ module SIF
|
|
6
7
|
|
7
8
|
attribute :object_name, String
|
8
9
|
attribute :action, String
|
9
|
-
attribute :
|
10
|
+
attribute :school_course_info,
|
10
11
|
SIF::Model::Group::SIS::SchoolCourseInfo
|
11
|
-
attribute :
|
12
|
+
attribute :school_info,
|
12
13
|
SIF::Model::Group::SIS::SchoolInfo
|
13
|
-
attribute :
|
14
|
+
attribute :staff_personal,
|
14
15
|
SIF::Model::Group::SIS::StaffPersonal
|
15
|
-
attribute :
|
16
|
+
attribute :student_personal,
|
16
17
|
SIF::Model::Group::SIS::StudentPersonal
|
17
|
-
attribute :
|
18
|
+
attribute :student_section_enrollment,
|
18
19
|
SIF::Model::Group::SIS::StudentSectionEnrollment
|
19
|
-
attribute :
|
20
|
+
attribute :term_info,
|
20
21
|
SIF::Model::Group::SIS::TermInfo
|
21
|
-
attribute :
|
22
|
+
attribute :section_info,
|
22
23
|
SIF::Model::Group::SIS::SectionInfo
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
24
|
+
attribute :grading_assignment,
|
25
|
+
SIF::Model::Group::Grades::GradingAssignment
|
26
|
+
attribute :grading_assignment_score,
|
27
|
+
SIF::Model::Group::Grades::GradingAssignmentScore
|
28
|
+
attribute :grading_category,
|
29
|
+
SIF::Model::Group::Grades::GradingCategory
|
30
|
+
def object
|
31
|
+
school_course_info ||
|
32
|
+
school_info ||
|
33
|
+
staff_personal ||
|
34
|
+
student_personal ||
|
35
|
+
student_section_enrollment ||
|
36
|
+
term_info ||
|
37
|
+
section_info ||
|
38
|
+
grading_assignment ||
|
39
|
+
grading_assignment_score ||
|
40
|
+
grading_category
|
41
|
+
end
|
42
|
+
|
43
|
+
def object=(obj)
|
44
|
+
attr_name = obj.class.to_s.split('::').last.underscore
|
45
|
+
self.send("#{attr_name}=", obj)
|
32
46
|
end
|
33
47
|
|
34
48
|
def datatype
|
35
|
-
|
36
|
-
return :school_info unless school_infos.empty?
|
37
|
-
return :staff_personal unless staff_personals.empty?
|
38
|
-
return :student_personal unless student_personals.empty?
|
39
|
-
return :student_section_enrollment unless student_section_enrollments.empty?
|
40
|
-
return :term_info unless term_infos.empty?
|
41
|
-
return :section_info unless section_infos.empty?
|
49
|
+
object_name.underscore.to_sym
|
42
50
|
end
|
43
51
|
end
|
44
52
|
end
|
@@ -27,7 +27,11 @@ module SIF
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def response?
|
30
|
-
inner_message && inner_message.response
|
30
|
+
inner_message && !inner_message.response.nil?
|
31
|
+
end
|
32
|
+
|
33
|
+
def event?
|
34
|
+
inner_message && !inner_message.event.nil?
|
31
35
|
end
|
32
36
|
|
33
37
|
def final_packet?
|
@@ -44,7 +48,7 @@ module SIF
|
|
44
48
|
nil
|
45
49
|
end
|
46
50
|
|
47
|
-
def
|
51
|
+
def event_object
|
48
52
|
inner_message.event.object_data.event_object
|
49
53
|
rescue NoMethodError
|
50
54
|
nil
|
@@ -54,6 +58,14 @@ module SIF
|
|
54
58
|
if event then :event else :response end
|
55
59
|
end
|
56
60
|
|
61
|
+
def datatype
|
62
|
+
if response? && !response_objects.empty?
|
63
|
+
inner_message.response.object_data.datatype
|
64
|
+
elsif event? && event_object
|
65
|
+
event_object.datatype
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
57
69
|
def content
|
58
70
|
ack || event || provide || provision ||
|
59
71
|
register || request || response || subscribe ||
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module SIF
|
2
|
+
module Model
|
3
|
+
module Group
|
4
|
+
module Grades
|
5
|
+
class GradingAssignment
|
6
|
+
include Virtus.model
|
7
|
+
|
8
|
+
attribute :ref_id, String
|
9
|
+
attribute :section_info_ref_id, String
|
10
|
+
attribute :school_info_ref_id, String
|
11
|
+
attribute :term_info_ref_id, String
|
12
|
+
attribute :grading_category_ref_id, String
|
13
|
+
attribute :description, String
|
14
|
+
attribute :points_possible, String
|
15
|
+
attribute :create_date, Date
|
16
|
+
attribute :weight, String
|
17
|
+
attribute :detailed_description, String
|
18
|
+
attribute :due_date, Date
|
19
|
+
attribute :metadata, String
|
20
|
+
attribute :extended_elements, Array[MODEL_COMMON::ExtendedElement]
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module SIF
|
2
|
+
module Model
|
3
|
+
module Group
|
4
|
+
module Grades
|
5
|
+
class GradingAssignmentScore
|
6
|
+
include Virtus.model
|
7
|
+
|
8
|
+
attribute :student_personal_ref_id, String
|
9
|
+
attribute :section_info_ref_id, String
|
10
|
+
attribute :school_info_ref_id, String
|
11
|
+
attribute :grading_assignment_ref_id, String
|
12
|
+
attribute :score_points, String
|
13
|
+
attribute :score_percent, String
|
14
|
+
attribute :score_letter, String
|
15
|
+
attribute :score_description, String
|
16
|
+
attribute :metadata, String
|
17
|
+
attribute :extended_elements, Array[MODEL_COMMON::ExtendedElement]
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module SIF
|
2
|
+
module Model
|
3
|
+
module Group
|
4
|
+
module Grades
|
5
|
+
class GradingCategory
|
6
|
+
include Virtus.model
|
7
|
+
|
8
|
+
attribute :ref_id, String
|
9
|
+
attribute :section_info_ref_id, String
|
10
|
+
attribute :school_info_ref_id, String
|
11
|
+
attribute :term_info_ref_id, String
|
12
|
+
attribute :description, String
|
13
|
+
attribute :metadata, String
|
14
|
+
attribute :extended_elements, Array[MODEL_COMMON::ExtendedElement]
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -8,27 +8,36 @@ module SIF
|
|
8
8
|
|
9
9
|
property :object_name, :as => "ObjectName", :attribute => true
|
10
10
|
property :action, :as => "Action", :attribute => true
|
11
|
-
property :
|
11
|
+
property :school_course_info, :as => 'SchoolCourseInfo',
|
12
12
|
:class => SIF::Model::Group::SIS::SchoolCourseInfo,
|
13
13
|
:decorator => Model::Group::SIS::SchoolCourseInfo
|
14
|
-
property :
|
14
|
+
property :school_info, :as => 'SchoolInfo',
|
15
15
|
:class => SIF::Model::Group::SIS::SchoolInfo,
|
16
16
|
:decorator => Model::Group::SIS::SchoolInfo
|
17
|
-
property :
|
17
|
+
property :staff_personal, :as => 'StaffPersonal',
|
18
18
|
:class => SIF::Model::Group::SIS::StaffPersonal,
|
19
19
|
:decorator => Model::Group::SIS::StaffPersonal
|
20
|
-
property :
|
20
|
+
property :student_personal, :as => 'StudentPersonal',
|
21
21
|
:class => SIF::Model::Group::SIS::StudentPersonal,
|
22
22
|
:decorator => Model::Group::SIS::StudentPersonal
|
23
|
-
property :
|
23
|
+
property :student_section_enrollment, :as => 'StudentSectionEnrollment',
|
24
24
|
:class => SIF::Model::Group::SIS::StudentSectionEnrollment,
|
25
25
|
:decorator => Model::Group::SIS::StudentSectionEnrollment
|
26
|
-
property :
|
26
|
+
property :term_info, :as => 'TermInfo',
|
27
27
|
:class => SIF::Model::Group::SIS::TermInfo,
|
28
28
|
:decorator => Model::Group::SIS::TermInfo
|
29
|
-
property :
|
29
|
+
property :section_info, :as => 'SectionInfo',
|
30
30
|
:class => SIF::Model::Group::SIS::SectionInfo,
|
31
31
|
:decorator => Model::Group::SIS::SectionInfo
|
32
|
+
property :grading_assignment, :as => 'GradingAssignment',
|
33
|
+
:class => SIF::Model::Group::Grades::GradingAssignment,
|
34
|
+
:decorator => Model::Group::Grades::GradingAssignment
|
35
|
+
property :grading_assignment_score, :as => 'GradingAssignmentScore',
|
36
|
+
:class => SIF::Model::Group::Grades::GradingAssignmentScore,
|
37
|
+
:decorator => Model::Group::Grades::GradingAssignmentScore
|
38
|
+
property :grading_category, :as => 'GradingCategory',
|
39
|
+
:class => SIF::Model::Group::Grades::GradingCategory,
|
40
|
+
:decorator => Model::Group::Grades::GradingCategory
|
32
41
|
end
|
33
42
|
end
|
34
43
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module SIF
|
2
|
+
module Representation
|
3
|
+
module Model
|
4
|
+
module Group
|
5
|
+
module Grades
|
6
|
+
class GradingAssignment < SIF::Represent
|
7
|
+
|
8
|
+
self.representation_wrap = 'GradingAssignment'
|
9
|
+
|
10
|
+
property :ref_id, :attribute => true, :as => 'RefId'
|
11
|
+
property :section_info_ref_id, :attribute =>true, :as => 'SectionInfoRefId'
|
12
|
+
property :term_info_ref_id, :attribute =>true, :as => 'TermInfoRefId'
|
13
|
+
property :school_info_ref_id, :attribute =>true, :as => 'SchoolInfoRefId'
|
14
|
+
property :grading_category_ref_id, :attribute =>true, :as => 'GradingCategoryRefId'
|
15
|
+
property :description, :as => 'Description'
|
16
|
+
property :points_possible, :as => 'PointsPossible'
|
17
|
+
property :create_date, :as => 'CreateDate'
|
18
|
+
property :due_date, :as => 'DueDate'
|
19
|
+
property :weight, :as => 'Weight'
|
20
|
+
property :detailed_description, :as => 'DetailDescription'
|
21
|
+
collection :extended_elements, :as => 'SIF_ExtendedElement', :wrap => 'SIF_ExtendedElements',
|
22
|
+
:class => MODEL_COMMON::ExtendedElement,
|
23
|
+
:decorator => REPR_COMMON::ExtendedElement
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module SIF
|
2
|
+
module Representation
|
3
|
+
module Model
|
4
|
+
module Group
|
5
|
+
module Grades
|
6
|
+
class GradingAssignmentScore < SIF::Represent
|
7
|
+
|
8
|
+
self.representation_wrap = 'GradingAssignmentScore'
|
9
|
+
|
10
|
+
property :student_personal_ref_id, :attribute => true, :as => 'StudentPersonalRefId'
|
11
|
+
property :section_info_ref_id, :attribute =>true, :as => 'SectionInfoRefId'
|
12
|
+
property :grading_assignment_ref_id, :attribute =>true, :as => 'GradingAssignmentRefId'
|
13
|
+
property :school_info_ref_id, :attribute =>true, :as => 'SchoolInfoRefId'
|
14
|
+
property :score_points, :as => 'ScorePoints'
|
15
|
+
property :score_percent, :as => 'ScorePercent'
|
16
|
+
property :score_letter, :as => 'ScoreLetter'
|
17
|
+
property :score_description, :as => 'ScoreDescription'
|
18
|
+
property :metadata, :as => 'SIF_Metadata'
|
19
|
+
collection :extended_elements, :as => 'SIF_ExtendedElement', :wrap => 'SIF_ExtendedElements',
|
20
|
+
:class => MODEL_COMMON::ExtendedElement,
|
21
|
+
:decorator => REPR_COMMON::ExtendedElement
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module SIF
|
2
|
+
module Representation
|
3
|
+
module Model
|
4
|
+
module Group
|
5
|
+
module Grades
|
6
|
+
class GradingCategory < SIF::Represent
|
7
|
+
|
8
|
+
self.representation_wrap = 'GradingCategory'
|
9
|
+
|
10
|
+
property :ref_id, :attribute => true, :as => 'RefId'
|
11
|
+
property :section_info_ref_id, :attribute =>true, :as => 'SectionInfoRefId'
|
12
|
+
property :term_info_ref_id, :attribute =>true, :as => 'TermInfoRefId'
|
13
|
+
property :school_info_ref_id, :attribute =>true, :as => 'SchoolInfoRefId'
|
14
|
+
property :description, :as => 'Description'
|
15
|
+
property :metadata, :as => 'Metadata'
|
16
|
+
collection :extended_elements, :as => 'SIF_ExtendedElement', :wrap => 'SIF_ExtendedElements',
|
17
|
+
:class => MODEL_COMMON::ExtendedElement,
|
18
|
+
:decorator => REPR_COMMON::ExtendedElement
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/sif/sif.rb
CHANGED
@@ -120,6 +120,12 @@ module SIF
|
|
120
120
|
autoload :StudentSectionEnrollment, 'sif/models/groups/sis/student_section_enrollment'
|
121
121
|
autoload :TermInfo, 'sif/models/groups/sis/term_info'
|
122
122
|
end
|
123
|
+
|
124
|
+
module Grades
|
125
|
+
autoload :GradingAssignment, 'sif/models/groups/grades/grading_assignment'
|
126
|
+
autoload :GradingAssignmentScore, 'sif/models/groups/grades/grading_assignment_score'
|
127
|
+
autoload :GradingCategory, 'sif/models/groups/grades/grading_category'
|
128
|
+
end
|
123
129
|
end
|
124
130
|
|
125
131
|
module Object
|
@@ -238,6 +244,11 @@ module SIF
|
|
238
244
|
autoload :StudentSectionEnrollment, 'sif/representations/models/groups/sis/student_section_enrollment'
|
239
245
|
autoload :TermInfo, 'sif/representations/models/groups/sis/term_info'
|
240
246
|
end
|
247
|
+
module Grades
|
248
|
+
autoload :GradingAssignment, 'sif/representations/models/groups/grades/grading_assignment'
|
249
|
+
autoload :GradingAssignmentScore, 'sif/representations/models/groups/grades/grading_assignment_score'
|
250
|
+
autoload :GradingCategory, 'sif/representations/models/groups/grades/grading_category'
|
251
|
+
end
|
241
252
|
end
|
242
253
|
|
243
254
|
module Object
|
data/openagent.gemspec
CHANGED
data/spec/event_spec.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
require_relative "spec_helper"
|
2
|
+
require "openagent/client"
|
3
|
+
require "openagent"
|
4
|
+
|
5
|
+
|
6
|
+
describe OpenAgent::Client do
|
7
|
+
let(:message) { SIF::Infra::Common::Message.new }
|
8
|
+
let(:grading_assignment_xml) {File.read('./spec/fixtures/sif/grading_assignment.xml')}
|
9
|
+
let(:grading_assignment_score_xml) {File.read('./spec/fixtures/sif/grading_assignment_score.xml')}
|
10
|
+
let(:grading_category_xml) {File.read('./spec/fixtures/sif/grading_category.xml')}
|
11
|
+
let(:agent) { OpenAgent::Agent.new(YAML::load(File.read(fixture("agent.yaml")))) }
|
12
|
+
let(:zone) { OpenAgent::Zone.new(YAML::load(File.read(fixture("zone.yaml")))) }
|
13
|
+
|
14
|
+
let(:builder) { OpenAgent::MessageBuilder.new(agent, zone) }
|
15
|
+
let(:guuid) { OpenAgent::MessageBuilder.guuid }
|
16
|
+
|
17
|
+
before do
|
18
|
+
builder.stub(:guuid) { "GUUID" }
|
19
|
+
builder.stub(:timestamp) { "TIME" }
|
20
|
+
builder.stub(:sourceid) {"SOURCEID"}
|
21
|
+
grade_assignment_object_model = SIF::Model::Group::Grades::GradingAssignment.new
|
22
|
+
grade_assignment_score_object_model = SIF::Model::Group::Grades::GradingAssignmentScore.new
|
23
|
+
grade_category_object_model = SIF::Model::Group::Grades::GradingCategory.new
|
24
|
+
@grade_assignment_object_rep = SIF::Representation::Model::Group::Grades::GradingAssignment.new(grade_assignment_object_model).from_xml(grading_assignment_xml)
|
25
|
+
@grade_assignment_score_object_rep = SIF::Representation::Model::Group::Grades::GradingAssignmentScore.new(grade_assignment_score_object_model).from_xml(grading_assignment_score_xml)
|
26
|
+
@grade_category_object_rep = SIF::Representation::Model::Group::Grades::GradingCategory.new(grade_category_object_model).from_xml(grading_category_xml)
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
it "creates GradingAssignment event object" do
|
31
|
+
|
32
|
+
event = builder.event('GradingAssignment','Add',@grade_assignment_object_rep)
|
33
|
+
event_rep = SIF.repr(event).to_xml
|
34
|
+
event_rep.should == "<SIF_Message xmlns=\"http://www.sifinfo.org/infrastructure/2.x\" Version=\"2.0r1\">\n <SIF_Event>\n <SIF_Header>\n <SIF_MsgId>GUUID</SIF_MsgId>\n <SIF_Timestamp>TIME</SIF_Timestamp>\n <SIF_SourceId>canvas</SIF_SourceId>\n </SIF_Header>\n <SIF_ObjectData>\n <SIF_EventObject ObjectName=\"GradingAssignment\" Action=\"Add\">\n <GradingAssignment RefId=\"359D75101AD0A9D7A8C3DAD0A85103A2\" SectionInfoRefId=\"D0A0A27AD0A8510AD9D75101A8C3DA39\" TermInfoRefId=\"A8C3A2E35B359D75101D00AA001A0000\" SchoolInfoRefId=\"11737EA4301CADCA75C87214A7C46BDB\" GradingCategoryRefId=\"98A57A0013BA8C3D00AA012B359D751A\">\n <Description>Pop Quiz</Description>\n <PointsPossible>100</PointsPossible>\n <CreateDate>2000-11-21</CreateDate>\n <DueDate>2000-11-25</DueDate>\n <Weight>1.0</Weight>\n <SIF_ExtendedElements/>\n </GradingAssignment>\n </SIF_EventObject>\n </SIF_ObjectData>\n </SIF_Event>\n</SIF_Message>"
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
it "creates GradingAssignmentScore event object" do
|
39
|
+
|
40
|
+
event = builder.event('GradingAssignmentScore','Add',@grade_assignment_score_object_rep)
|
41
|
+
event_rep = SIF.repr(event).to_xml
|
42
|
+
event_rep.should == "<SIF_Message xmlns=\"http://www.sifinfo.org/infrastructure/2.x\" Version=\"2.0r1\">\n <SIF_Event>\n <SIF_Header>\n <SIF_MsgId>GUUID</SIF_MsgId>\n <SIF_Timestamp>TIME</SIF_Timestamp>\n <SIF_SourceId>canvas</SIF_SourceId>\n </SIF_Header>\n <SIF_ObjectData>\n <SIF_EventObject ObjectName=\"GradingAssignmentScore\" Action=\"Add\">\n <GradingAssignmentScore StudentPersonalRefId=\"A75A00101A8C301D02E3A05B359D0A00\" SectionInfoRefId=\"D0A0A27AD0A8510AD9D75101A8C3DA39\" GradingAssignmentRefId=\"359D75101AD0A9D7A8C3DAD0A85105D2\" SchoolInfoRefId=\"11737EA4301CADCA75C87214A7C46BDB\">\n <ScorePoints>45</ScorePoints>\n <ScorePercent>90</ScorePercent>\n <ScoreDescription>Excellent</ScoreDescription>\n <SIF_ExtendedElements/>\n </GradingAssignmentScore>\n </SIF_EventObject>\n </SIF_ObjectData>\n </SIF_Event>\n</SIF_Message>"
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
it "creates GradingCategory event object" do
|
47
|
+
|
48
|
+
event = builder.event('GradingCategory','Add',@grade_category_object_rep)
|
49
|
+
event_rep = SIF.repr(event).to_xml
|
50
|
+
event_rep.should == "<SIF_Message xmlns=\"http://www.sifinfo.org/infrastructure/2.x\" Version=\"2.0r1\">\n <SIF_Event>\n <SIF_Header>\n <SIF_MsgId>GUUID</SIF_MsgId>\n <SIF_Timestamp>TIME</SIF_Timestamp>\n <SIF_SourceId>canvas</SIF_SourceId>\n </SIF_Header>\n <SIF_ObjectData>\n <SIF_EventObject ObjectName=\"GradingCategory\" Action=\"Add\">\n <GradingCategory RefId=\"98157AA013BA8C3D00AA012B359D7512\" SectionInfoRefId=\"13BA8C3D00AA098157AA012B359D7512\" TermInfoRefId=\"D00AA012B359D798157AA013BA8C3512\" SchoolInfoRefId=\"11737EA4301CADCA75C87214A7C46BDB\">\n <Description>Tests</Description>\n <SIF_ExtendedElements/>\n </GradingCategory>\n </SIF_EventObject>\n </SIF_ObjectData>\n </SIF_Event>\n</SIF_Message>"
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<GradingAssignment RefId="359D75101AD0A9D7A8C3DAD0A85103A2" SectionInfoRefId="D0A0A27AD0A8510AD9D75101A8C3DA39" TermInfoRefId="A8C3A2E35B359D75101D00AA001A0000" GradingCategoryRefId="98A57A0013BA8C3D00AA012B359D751A" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB">
|
2
|
+
<Description>Pop Quiz</Description>
|
3
|
+
<PointsPossible>100</PointsPossible>
|
4
|
+
<CreateDate>2000-11-21</CreateDate>
|
5
|
+
<DueDate>2000-11-25</DueDate>
|
6
|
+
<Weight>1.0</Weight>
|
7
|
+
<DetailedDescription Type="URL">http://www.assignmentinfo.com/assignment1.pdf</DetailedDescription>
|
8
|
+
</GradingAssignment>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<GradingAssignmentScore StudentPersonalRefId="A75A00101A8C301D02E3A05B359D0A00" SectionInfoRefId="D0A0A27AD0A8510AD9D75101A8C3DA39" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB" GradingAssignmentRefId="359D75101AD0A9D7A8C3DAD0A85105D2">
|
2
|
+
<ScorePoints>45</ScorePoints>
|
3
|
+
<ScorePercent>90</ScorePercent>
|
4
|
+
<ScoreDescription>Excellent</ScoreDescription>
|
5
|
+
</GradingAssignmentScore>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openagent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2014-01-
|
14
|
+
date: 2014-01-22 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rake
|
@@ -157,6 +157,22 @@ dependencies:
|
|
157
157
|
- - ~>
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: 1.0.0
|
160
|
+
- !ruby/object:Gem::Dependency
|
161
|
+
name: activesupport
|
162
|
+
requirement: !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
164
|
+
requirements:
|
165
|
+
- - ! '>='
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
168
|
+
type: :runtime
|
169
|
+
prerelease: false
|
170
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
172
|
+
requirements:
|
173
|
+
- - ! '>='
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
160
176
|
description: OpenAgent - SIF ADK (SIF Agent Development Kit)
|
161
177
|
email:
|
162
178
|
- hello@openzis.org
|
@@ -261,6 +277,9 @@ files:
|
|
261
277
|
- lib/sif/models/common/street.rb
|
262
278
|
- lib/sif/models/common/subject_area.rb
|
263
279
|
- lib/sif/models/groups/data_model/term_span.rb
|
280
|
+
- lib/sif/models/groups/grades/grading_assignment.rb
|
281
|
+
- lib/sif/models/groups/grades/grading_assignment_score.rb
|
282
|
+
- lib/sif/models/groups/grades/grading_category.rb
|
264
283
|
- lib/sif/models/groups/sis/attendance_code_info.rb
|
265
284
|
- lib/sif/models/groups/sis/calendar_date.rb
|
266
285
|
- lib/sif/models/groups/sis/discipline_incident.rb
|
@@ -339,6 +358,9 @@ files:
|
|
339
358
|
- lib/sif/representations/models/common/street.rb
|
340
359
|
- lib/sif/representations/models/common/subject_area.rb
|
341
360
|
- lib/sif/representations/models/groups/data_model/term_span.rb
|
361
|
+
- lib/sif/representations/models/groups/grades/grading_assignment.rb
|
362
|
+
- lib/sif/representations/models/groups/grades/grading_assignment_score.rb
|
363
|
+
- lib/sif/representations/models/groups/grades/grading_category.rb
|
342
364
|
- lib/sif/representations/models/groups/sis/personal_representer.rb
|
343
365
|
- lib/sif/representations/models/groups/sis/school_course_info.rb
|
344
366
|
- lib/sif/representations/models/groups/sis/school_info.rb
|
@@ -352,6 +374,7 @@ files:
|
|
352
374
|
- lib/openagent/pretty_print.xslt
|
353
375
|
- spec/agent_spec.rb
|
354
376
|
- spec/client_spec.rb
|
377
|
+
- spec/event_spec.rb
|
355
378
|
- spec/fixtures/agent.yaml
|
356
379
|
- spec/fixtures/messages/event.xml
|
357
380
|
- spec/fixtures/messages/response.xml
|
@@ -360,6 +383,9 @@ files:
|
|
360
383
|
- spec/fixtures/sif/calendar_summary.xml
|
361
384
|
- spec/fixtures/sif/demographics.xml
|
362
385
|
- spec/fixtures/sif/discipline_incident.xml
|
386
|
+
- spec/fixtures/sif/grading_assignment.xml
|
387
|
+
- spec/fixtures/sif/grading_assignment_score.xml
|
388
|
+
- spec/fixtures/sif/grading_category.xml
|
363
389
|
- spec/fixtures/sif/lea_info.xml
|
364
390
|
- spec/fixtures/sif/school_course_info.xml
|
365
391
|
- spec/fixtures/sif/school_info.xml
|
@@ -430,6 +456,7 @@ summary: OpenAgent is a SIF Agent Development Kit
|
|
430
456
|
test_files:
|
431
457
|
- spec/agent_spec.rb
|
432
458
|
- spec/client_spec.rb
|
459
|
+
- spec/event_spec.rb
|
433
460
|
- spec/fixtures/agent.yaml
|
434
461
|
- spec/fixtures/messages/event.xml
|
435
462
|
- spec/fixtures/messages/response.xml
|
@@ -438,6 +465,9 @@ test_files:
|
|
438
465
|
- spec/fixtures/sif/calendar_summary.xml
|
439
466
|
- spec/fixtures/sif/demographics.xml
|
440
467
|
- spec/fixtures/sif/discipline_incident.xml
|
468
|
+
- spec/fixtures/sif/grading_assignment.xml
|
469
|
+
- spec/fixtures/sif/grading_assignment_score.xml
|
470
|
+
- spec/fixtures/sif/grading_category.xml
|
441
471
|
- spec/fixtures/sif/lea_info.xml
|
442
472
|
- spec/fixtures/sif/school_course_info.xml
|
443
473
|
- spec/fixtures/sif/school_info.xml
|