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.
@@ -43,21 +43,17 @@ module OpenAgent
43
43
  )
44
44
  end
45
45
 
46
- def event(object_name, action='Change', object=nil)
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::Common::Event.new(
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
- :objects => [
57
- SIF::Infra::Common::Object.new(
58
- :object_name => object_name
59
- )
60
- ]
56
+ :object => object_model
61
57
  )
62
58
  )
63
59
  )
@@ -1,3 +1,3 @@
1
1
  module OpenAgent
2
- VERSION = '0.8.7' unless defined?(OpenAgent::VERSION)
2
+ VERSION = '0.9.0' unless defined?(OpenAgent::VERSION)
3
3
  end
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 :school_course_infos,
10
+ attribute :school_course_info,
10
11
  SIF::Model::Group::SIS::SchoolCourseInfo
11
- attribute :school_infos,
12
+ attribute :school_info,
12
13
  SIF::Model::Group::SIS::SchoolInfo
13
- attribute :staff_personals,
14
+ attribute :staff_personal,
14
15
  SIF::Model::Group::SIS::StaffPersonal
15
- attribute :student_personals,
16
+ attribute :student_personal,
16
17
  SIF::Model::Group::SIS::StudentPersonal
17
- attribute :student_section_enrollments,
18
+ attribute :student_section_enrollment,
18
19
  SIF::Model::Group::SIS::StudentSectionEnrollment
19
- attribute :term_infos,
20
+ attribute :term_info,
20
21
  SIF::Model::Group::SIS::TermInfo
21
- attribute :section_infos,
22
+ attribute :section_info,
22
23
  SIF::Model::Group::SIS::SectionInfo
23
-
24
- def objects
25
- school_course_infos +
26
- school_infos +
27
- staff_personals +
28
- student_personals +
29
- student_section_enrollments +
30
- term_infos +
31
- section_infos
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
- return :school_course_info unless school_course_infos.empty?
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 event_objects
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 :school_course_infos, :as => 'SchoolCourseInfo',
11
+ property :school_course_info, :as => 'SchoolCourseInfo',
12
12
  :class => SIF::Model::Group::SIS::SchoolCourseInfo,
13
13
  :decorator => Model::Group::SIS::SchoolCourseInfo
14
- property :school_infos, :as => 'SchoolInfo',
14
+ property :school_info, :as => 'SchoolInfo',
15
15
  :class => SIF::Model::Group::SIS::SchoolInfo,
16
16
  :decorator => Model::Group::SIS::SchoolInfo
17
- property :staff_personals, :as => 'StaffPersonal',
17
+ property :staff_personal, :as => 'StaffPersonal',
18
18
  :class => SIF::Model::Group::SIS::StaffPersonal,
19
19
  :decorator => Model::Group::SIS::StaffPersonal
20
- property :student_personals, :as => 'StudentPersonal',
20
+ property :student_personal, :as => 'StudentPersonal',
21
21
  :class => SIF::Model::Group::SIS::StudentPersonal,
22
22
  :decorator => Model::Group::SIS::StudentPersonal
23
- property :student_section_enrollments, :as => 'StudentSectionEnrollment',
23
+ property :student_section_enrollment, :as => 'StudentSectionEnrollment',
24
24
  :class => SIF::Model::Group::SIS::StudentSectionEnrollment,
25
25
  :decorator => Model::Group::SIS::StudentSectionEnrollment
26
- property :term_infos, :as => 'TermInfo',
26
+ property :term_info, :as => 'TermInfo',
27
27
  :class => SIF::Model::Group::SIS::TermInfo,
28
28
  :decorator => Model::Group::SIS::TermInfo
29
- property :section_infos, :as => 'SectionInfo',
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
@@ -32,4 +32,5 @@ Gem::Specification.new do |gem|
32
32
  gem.add_dependency "uuid"
33
33
  gem.add_dependency "representable", "~> 1.7.3"
34
34
  gem.add_dependency "virtus", "~> 1.0.0"
35
+ gem.add_dependency "activesupport"
35
36
  end
@@ -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>
@@ -0,0 +1,3 @@
1
+ <GradingCategory RefId="98157AA013BA8C3D00AA012B359D7512" SectionInfoRefId="13BA8C3D00AA098157AA012B359D7512" TermInfoRefId="D00AA012B359D798157AA013BA8C3512" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB">
2
+ <Description>Tests</Description>
3
+ </GradingCategory>
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.8.7
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-17 00:00:00.000000000 Z
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