openagent 0.9.8 → 0.9.9

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.
@@ -1,3 +1,3 @@
1
1
  module OpenAgent
2
- VERSION = '0.9.8' unless defined?(OpenAgent::VERSION)
2
+ VERSION = '0.9.9' unless defined?(OpenAgent::VERSION)
3
3
  end
@@ -14,7 +14,15 @@ module SIF
14
14
  end
15
15
 
16
16
  def first_teacher
17
- teachers.first || String.new
17
+ teachers.first
18
+ end
19
+
20
+ def first_nonblank_teacher
21
+ teachers.find{ |t| !t.nil? and !t.empty? }
22
+ end
23
+
24
+ def teacher
25
+ first_nonblank_teacher || first_teacher || String.new
18
26
  end
19
27
  end
20
28
  end
@@ -26,15 +26,23 @@ module SIF
26
26
  end
27
27
 
28
28
  def first_schedule_info
29
- schedule_infos.first || Common::ScheduleInfo.new
29
+ schedule_infos.first
30
+ end
31
+
32
+ def first_nonblank_schedule_info
33
+ schedule_infos.find { |si| !si.teachers.empty? }
34
+ end
35
+
36
+ def schedule_info
37
+ first_nonblank_schedule_info || first_schedule_info || Common::ScheduleInfo.new
30
38
  end
31
39
 
32
40
  def term_info_ref_id
33
- first_schedule_info.term_info_ref_id
41
+ schedule_info.term_info_ref_id
34
42
  end
35
43
 
36
44
  def teacher
37
- first_schedule_info.first_teacher if first_schedule_info.first_teacher
45
+ schedule_info.teacher
38
46
  end
39
47
  end
40
48
  end
@@ -1,9 +1,10 @@
1
1
  <SectionInfo RefId="D3E34B359D75101A8C3D00AA001A1652" SchoolCourseInfoRefId="A2E35B359D75101A8C3D00AA001A0000" SchoolYear="2006">
2
2
  <LocalId>287-1</LocalId>
3
3
  <ScheduleInfoList>
4
+ <ScheduleInfo TermInfoRefId="099BBC3227490063E97403434C5C2207"/>
4
5
  <ScheduleInfo TermInfoRefId="099BBC3227490063E97403434C5C2207">
5
6
  <TeacherList>
6
- <StaffPersonalRefId>A8C3A2E35B359D75101D00AA001A0000</StaffPersonalRefId>
7
+ <StaffPersonalRefId></StaffPersonalRefId>
7
8
  <StaffPersonalRefId>A8C45DC6B3359D75101D00A456BE9000</StaffPersonalRefId>
8
9
  </TeacherList>
9
10
  <SectionRoomList>
@@ -8,14 +8,18 @@ describe SIF::Representation::Model::Group::SIS::SectionInfo do
8
8
  SIF::Representation::Model::Group::SIS::SectionInfo.new(section_info).from_xml(xml)
9
9
  end
10
10
 
11
- it 'parses' do
11
+ it "uses nonblank teachers in schedule_info" do
12
+ section_info.teacher.should == 'A8C45DC6B3359D75101D00A456BE9000'
13
+ end
14
+
15
+ it "parses" do
12
16
  section_info.ref_id.should == 'D3E34B359D75101A8C3D00AA001A1652'
13
17
  section_info.school_course_info_ref_id.should == 'A2E35B359D75101A8C3D00AA001A0000'
14
18
  section_info.school_year.should == '2006'
15
19
  section_info.local_id.should == '287-1'
16
20
 
17
- schedule_info = section_info.schedule_infos[0]
18
- schedule_info.teachers[0].should == 'A8C3A2E35B359D75101D00AA001A0000'
21
+ schedule_info = section_info.schedule_infos[1]
22
+ schedule_info.teachers[0].should == ''
19
23
  schedule_info.teachers[1].should == 'A8C45DC6B3359D75101D00A456BE9000'
20
24
  schedule_info.section_rooms[0].should == '94785736AB3671090BDD87593A264086'
21
25
  meeting_times = schedule_info.meeting_times
@@ -30,7 +34,7 @@ describe SIF::Representation::Model::Group::SIS::SectionInfo do
30
34
  meeting_times[4].timetable_day.should == 'F'
31
35
  meeting_times[4].timetable_period.should == '6'
32
36
 
33
- schedule_info = section_info.schedule_infos[1]
37
+ schedule_info = section_info.schedule_infos[2]
34
38
  schedule_info.teachers[0].should == 'CC543E35B359D75101D00AA001A00703'
35
39
  schedule_info.section_rooms[0].should == '94785736AB3671090BDD87593A264086'
36
40
  meeting_times = schedule_info.meeting_times
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.9.8
4
+ version: 0.9.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: