openagent 0.8.7 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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