openagent 0.7.1

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.
Files changed (221) hide show
  1. data/README.md +64 -0
  2. data/lib/openagent.rb +4 -0
  3. data/lib/openagent/agent.rb +24 -0
  4. data/lib/openagent/client.rb +170 -0
  5. data/lib/openagent/errors.rb +30 -0
  6. data/lib/openagent/message_builder.rb +171 -0
  7. data/lib/openagent/ssl_config.rb +26 -0
  8. data/lib/openagent/version.rb +3 -0
  9. data/lib/openagent/xml_helpers.rb +24 -0
  10. data/lib/openagent/zone.rb +58 -0
  11. data/lib/sif/infra/common/application.rb +13 -0
  12. data/lib/sif/infra/common/condition.rb +13 -0
  13. data/lib/sif/infra/common/condition_group.rb +14 -0
  14. data/lib/sif/infra/common/data.rb +11 -0
  15. data/lib/sif/infra/common/error.rb +14 -0
  16. data/lib/sif/infra/common/event.rb +0 -0
  17. data/lib/sif/infra/common/event_object.rb +12 -0
  18. data/lib/sif/infra/common/extended_query.rb +15 -0
  19. data/lib/sif/infra/common/extended_query_results.rb +12 -0
  20. data/lib/sif/infra/common/header.rb +27 -0
  21. data/lib/sif/infra/common/message.rb +49 -0
  22. data/lib/sif/infra/common/object.rb +11 -0
  23. data/lib/sif/infra/common/object_data.rb +46 -0
  24. data/lib/sif/infra/common/other_id.rb +12 -0
  25. data/lib/sif/infra/common/property.rb +12 -0
  26. data/lib/sif/infra/common/protocol.rb +16 -0
  27. data/lib/sif/infra/common/provision.rb +17 -0
  28. data/lib/sif/infra/common/query.rb +16 -0
  29. data/lib/sif/infra/common/query_object.rb +12 -0
  30. data/lib/sif/infra/common/secure_channel.rb +12 -0
  31. data/lib/sif/infra/common/security.rb +13 -0
  32. data/lib/sif/infra/common/status.rb +16 -0
  33. data/lib/sif/infra/common/unprovision.rb +9 -0
  34. data/lib/sif/infra/common/vendor.rb +13 -0
  35. data/lib/sif/infra/messages/ack.rb +16 -0
  36. data/lib/sif/infra/messages/event.rb +12 -0
  37. data/lib/sif/infra/messages/get_agent_acl.rb +11 -0
  38. data/lib/sif/infra/messages/get_message.rb +11 -0
  39. data/lib/sif/infra/messages/get_zone_status.rb +10 -0
  40. data/lib/sif/infra/messages/ping.rb +10 -0
  41. data/lib/sif/infra/messages/provide.rb +16 -0
  42. data/lib/sif/infra/messages/provision.rb +18 -0
  43. data/lib/sif/infra/messages/register.rb +21 -0
  44. data/lib/sif/infra/messages/request.rb +16 -0
  45. data/lib/sif/infra/messages/responder.rb +9 -0
  46. data/lib/sif/infra/messages/response.rb +18 -0
  47. data/lib/sif/infra/messages/sleep.rb +11 -0
  48. data/lib/sif/infra/messages/subscribe.rb +12 -0
  49. data/lib/sif/infra/messages/system_control.rb +15 -0
  50. data/lib/sif/infra/messages/system_control_data.rb +39 -0
  51. data/lib/sif/infra/messages/unprovide.rb +12 -0
  52. data/lib/sif/infra/messages/unregister.rb +11 -0
  53. data/lib/sif/infra/messages/unsubscribe.rb +12 -0
  54. data/lib/sif/infra/messages/wakeup.rb +11 -0
  55. data/lib/sif/infra/messages/zone_status_role.rb +12 -0
  56. data/lib/sif/infra/objects/agent_acl.rb +19 -0
  57. data/lib/sif/infra/objects/zone_status.rb +30 -0
  58. data/lib/sif/models/common/address.rb +21 -0
  59. data/lib/sif/models/common/alert_message.rb +12 -0
  60. data/lib/sif/models/common/base_name.rb +12 -0
  61. data/lib/sif/models/common/calendar_summary.rb +28 -0
  62. data/lib/sif/models/common/code.rb +12 -0
  63. data/lib/sif/models/common/contact_info.rb +21 -0
  64. data/lib/sif/models/common/credits_attempted.rb +12 -0
  65. data/lib/sif/models/common/demographics.rb +31 -0
  66. data/lib/sif/models/common/dwelling_arrangement.rb +14 -0
  67. data/lib/sif/models/common/earned_status.rb +15 -0
  68. data/lib/sif/models/common/electronic_id.rb +12 -0
  69. data/lib/sif/models/common/email.rb +13 -0
  70. data/lib/sif/models/common/english_proficiency.rb +14 -0
  71. data/lib/sif/models/common/exceptionality_category.rb +13 -0
  72. data/lib/sif/models/common/grade_level.rb +12 -0
  73. data/lib/sif/models/common/grid_location.rb +12 -0
  74. data/lib/sif/models/common/identification_info.rb +12 -0
  75. data/lib/sif/models/common/language.rb +14 -0
  76. data/lib/sif/models/common/meal_status.rb +16 -0
  77. data/lib/sif/models/common/medical_alert_message.rb +12 -0
  78. data/lib/sif/models/common/meeting_time.rb +12 -0
  79. data/lib/sif/models/common/name.rb +19 -0
  80. data/lib/sif/models/common/other_code.rb +12 -0
  81. data/lib/sif/models/common/other_id.rb +12 -0
  82. data/lib/sif/models/common/phone_number.rb +15 -0
  83. data/lib/sif/models/common/principal_info.rb +12 -0
  84. data/lib/sif/models/common/race.rb +15 -0
  85. data/lib/sif/models/common/sced_code.rb +15 -0
  86. data/lib/sif/models/common/schedule_info.rb +14 -0
  87. data/lib/sif/models/common/schedule_info_override.rb +13 -0
  88. data/lib/sif/models/common/school_contact.rb +13 -0
  89. data/lib/sif/models/common/school_course_info_override.rb +18 -0
  90. data/lib/sif/models/common/street.rb +22 -0
  91. data/lib/sif/models/common/subject_area.rb +13 -0
  92. data/lib/sif/models/groups/data_model/term_span.rb +14 -0
  93. data/lib/sif/models/groups/sis/attendance_code_info.rb +23 -0
  94. data/lib/sif/models/groups/sis/calendar_date.rb +25 -0
  95. data/lib/sif/models/groups/sis/discipline_incident.rb +31 -0
  96. data/lib/sif/models/groups/sis/lea_info.rb +28 -0
  97. data/lib/sif/models/groups/sis/personal_representer.rb +22 -0
  98. data/lib/sif/models/groups/sis/school_course_info.rb +30 -0
  99. data/lib/sif/models/groups/sis/school_info.rb +32 -0
  100. data/lib/sif/models/groups/sis/section_info.rb +26 -0
  101. data/lib/sif/models/groups/sis/sis_representer.rb +15 -0
  102. data/lib/sif/models/groups/sis/staff_personal.rb +20 -0
  103. data/lib/sif/models/groups/sis/student_personal.rb +37 -0
  104. data/lib/sif/models/groups/sis/student_section_enrollment.rb +21 -0
  105. data/lib/sif/models/groups/sis/term_info.rb +29 -0
  106. data/lib/sif/representations/infra/common/application.rb +16 -0
  107. data/lib/sif/representations/infra/common/condition.rb +16 -0
  108. data/lib/sif/representations/infra/common/condition_group.rb +18 -0
  109. data/lib/sif/representations/infra/common/data.rb +17 -0
  110. data/lib/sif/representations/infra/common/error.rb +17 -0
  111. data/lib/sif/representations/infra/common/event.rb +0 -0
  112. data/lib/sif/representations/infra/common/event_object.rb +15 -0
  113. data/lib/sif/representations/infra/common/extended_query.rb +18 -0
  114. data/lib/sif/representations/infra/common/extended_query_results.rb +15 -0
  115. data/lib/sif/representations/infra/common/header.rb +23 -0
  116. data/lib/sif/representations/infra/common/message.rb +54 -0
  117. data/lib/sif/representations/infra/common/object.rb +14 -0
  118. data/lib/sif/representations/infra/common/object_data.rb +43 -0
  119. data/lib/sif/representations/infra/common/other_id.rb +15 -0
  120. data/lib/sif/representations/infra/common/property.rb +15 -0
  121. data/lib/sif/representations/infra/common/protocol.rb +22 -0
  122. data/lib/sif/representations/infra/common/provision.rb +38 -0
  123. data/lib/sif/representations/infra/common/query.rb +24 -0
  124. data/lib/sif/representations/infra/common/query_object.rb +15 -0
  125. data/lib/sif/representations/infra/common/secure_channel.rb +15 -0
  126. data/lib/sif/representations/infra/common/security.rb +18 -0
  127. data/lib/sif/representations/infra/common/status.rb +18 -0
  128. data/lib/sif/representations/infra/messages/ack.rb +25 -0
  129. data/lib/sif/representations/infra/messages/event.rb +19 -0
  130. data/lib/sif/representations/infra/messages/get_message.rb +12 -0
  131. data/lib/sif/representations/infra/messages/ping.rb +13 -0
  132. data/lib/sif/representations/infra/messages/provide.rb +19 -0
  133. data/lib/sif/representations/infra/messages/provision.rb +37 -0
  134. data/lib/sif/representations/infra/messages/register.rb +30 -0
  135. data/lib/sif/representations/infra/messages/request.rb +24 -0
  136. data/lib/sif/representations/infra/messages/response.rb +29 -0
  137. data/lib/sif/representations/infra/messages/sleep.rb +14 -0
  138. data/lib/sif/representations/infra/messages/subscribe.rb +19 -0
  139. data/lib/sif/representations/infra/messages/system_control.rb +23 -0
  140. data/lib/sif/representations/infra/messages/system_control_data.rb +31 -0
  141. data/lib/sif/representations/infra/messages/wakeup.rb +14 -0
  142. data/lib/sif/representations/models/common/address.rb +24 -0
  143. data/lib/sif/representations/models/common/alert_message.rb +16 -0
  144. data/lib/sif/representations/models/common/contact_info.rb +28 -0
  145. data/lib/sif/representations/models/common/credits_attempted.rb +15 -0
  146. data/lib/sif/representations/models/common/demographics.rb +43 -0
  147. data/lib/sif/representations/models/common/dwelling_arrangement.rb +18 -0
  148. data/lib/sif/representations/models/common/electronic_id.rb +16 -0
  149. data/lib/sif/representations/models/common/email.rb +16 -0
  150. data/lib/sif/representations/models/common/english_proficiency.rb +17 -0
  151. data/lib/sif/representations/models/common/identification_info.rb +16 -0
  152. data/lib/sif/representations/models/common/language.rb +19 -0
  153. data/lib/sif/representations/models/common/medical_alert_message.rb +15 -0
  154. data/lib/sif/representations/models/common/meeting_time.rb +16 -0
  155. data/lib/sif/representations/models/common/name.rb +22 -0
  156. data/lib/sif/representations/models/common/other_code.rb +15 -0
  157. data/lib/sif/representations/models/common/other_id.rb +15 -0
  158. data/lib/sif/representations/models/common/phone_number.rb +18 -0
  159. data/lib/sif/representations/models/common/principal_info.rb +15 -0
  160. data/lib/sif/representations/models/common/race.rb +18 -0
  161. data/lib/sif/representations/models/common/sced_code.rb +18 -0
  162. data/lib/sif/representations/models/common/schedule_info.rb +19 -0
  163. data/lib/sif/representations/models/common/schedule_info_override.rb +18 -0
  164. data/lib/sif/representations/models/common/school_contact.rb +17 -0
  165. data/lib/sif/representations/models/common/school_course_info_override.rb +21 -0
  166. data/lib/sif/representations/models/common/street.rb +26 -0
  167. data/lib/sif/representations/models/common/subject_area.rb +17 -0
  168. data/lib/sif/representations/models/groups/data_model/term_span.rb +20 -0
  169. data/lib/sif/representations/models/groups/sis/personal_representer.rb +38 -0
  170. data/lib/sif/representations/models/groups/sis/school_course_info.rb +36 -0
  171. data/lib/sif/representations/models/groups/sis/school_info.rb +47 -0
  172. data/lib/sif/representations/models/groups/sis/section_info.rb +29 -0
  173. data/lib/sif/representations/models/groups/sis/sis_representer.rb +17 -0
  174. data/lib/sif/representations/models/groups/sis/staff_personal.rb +19 -0
  175. data/lib/sif/representations/models/groups/sis/student_personal.rb +37 -0
  176. data/lib/sif/representations/models/groups/sis/student_section_enrollment.rb +26 -0
  177. data/lib/sif/representations/models/groups/sis/term_info.rb +30 -0
  178. data/lib/sif/sif.rb +249 -0
  179. data/openagent.gemspec +33 -0
  180. data/spec/agent_spec.rb +32 -0
  181. data/spec/client_spec.rb +96 -0
  182. data/spec/fixtures/agent.yaml +31 -0
  183. data/spec/fixtures/messages/event.xml +72 -0
  184. data/spec/fixtures/messages/response.xml +107 -0
  185. data/spec/fixtures/sif/attendance_code_info.xml +9 -0
  186. data/spec/fixtures/sif/calendar_date.xml +22 -0
  187. data/spec/fixtures/sif/calendar_summary.xml +21 -0
  188. data/spec/fixtures/sif/demographics.xml +33 -0
  189. data/spec/fixtures/sif/discipline_incident.xml +70 -0
  190. data/spec/fixtures/sif/lea_info.xml +55 -0
  191. data/spec/fixtures/sif/section_info.xml +1536 -0
  192. data/spec/fixtures/sif/sif_header.xml +12 -0
  193. data/spec/fixtures/sif/sif_message__response.xml +107 -0
  194. data/spec/fixtures/sif/sif_object_data.xml +5 -0
  195. data/spec/fixtures/sif/sif_protocol.xml +3 -0
  196. data/spec/fixtures/sif/sif_protocol__properties.xml +10 -0
  197. data/spec/fixtures/sif/sif_provide.xml +9 -0
  198. data/spec/fixtures/sif/sif_provision.xml +33 -0
  199. data/spec/fixtures/sif/sif_register.xml +20 -0
  200. data/spec/fixtures/sif/sif_request.xml +21 -0
  201. data/spec/fixtures/sif/sif_response.xml +19 -0
  202. data/spec/fixtures/sif/sif_system_control.xml +10 -0
  203. data/spec/fixtures/sif/stu_pers_resp.xml +2 -0
  204. data/spec/fixtures/sif/student_personal.xml +42 -0
  205. data/spec/fixtures/zone.yaml +6 -0
  206. data/spec/message_builder_spec.rb +81 -0
  207. data/spec/response_spec.rb +35 -0
  208. data/spec/sif/representations/xml/header_spec.rb +30 -0
  209. data/spec/sif/representations/xml/message_spec.rb +20 -0
  210. data/spec/sif/representations/xml/object_data_spec.rb +19 -0
  211. data/spec/sif/representations/xml/protocol_spec.rb +34 -0
  212. data/spec/sif/representations/xml/provide_spec.rb +19 -0
  213. data/spec/sif/representations/xml/provision_spec.rb +56 -0
  214. data/spec/sif/representations/xml/register_spec.rb +17 -0
  215. data/spec/sif/representations/xml/request_spec.rb +17 -0
  216. data/spec/sif/representations/xml/response_spec.rb +16 -0
  217. data/spec/sif/representations/xml/spec_helper.rb +7 -0
  218. data/spec/sif/representations/xml/student_personal_spec.rb +69 -0
  219. data/spec/spec_helper.rb +7 -0
  220. data/spec/zone_spec.rb +26 -0
  221. metadata +455 -0
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class OtherId
5
+ include Virtus.model
6
+
7
+ attribute :type, String
8
+ attribute :value, String
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class PhoneNumber
5
+ include Virtus.model
6
+
7
+ attribute :type, String
8
+ attribute :action, String
9
+ attribute :number, String
10
+ attribute :extension, String
11
+ attribute :listed_status, String
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class PrincipalInfo
5
+ include Virtus.model
6
+
7
+ attribute :contact_name
8
+ attribute :contact_title
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class Race
5
+ require_relative 'other_code'
6
+
7
+ include Virtus.model
8
+
9
+ attribute :code, String
10
+ attribute :proportion, Float
11
+ attribute :other_codes, Array[MODEL_COMMON::OtherCode]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class SCEDCode
5
+ include Virtus.model
6
+
7
+ attribute :course_description, String
8
+ attribute :course_level, String
9
+ attribute :available_credit, Float
10
+ attribute :sequence_number, Integer
11
+ attribute :sequence_limit, Integer
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class ScheduleInfo
5
+ include Virtus.model
6
+
7
+ attribute :term_info_ref_id
8
+ attribute :teachers, Array[String]
9
+ attribute :section_rooms, Array[String]
10
+ attribute :meeting_times, Array[String]
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class ScheduleInfoOverride
5
+ include Virtus.model
6
+
7
+ attribute :term_info_ref_id
8
+ attribute :override
9
+ attribute :meeting_times, Array[String]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class SchoolContact
5
+ require_relative 'contact_info'
6
+ include Virtus.model
7
+
8
+ attribute :publish_in_directory
9
+ attribute :contact_info, ContactInfo
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,18 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class SchoolCourseInfoOverride
5
+ include Virtus.model
6
+
7
+ attribute :override
8
+ attribute :course_code
9
+ attribute :state_course_code
10
+ attribute :district_course_code
11
+ attribute :subject_area
12
+ attribute :course_title
13
+ attribute :instruction_level
14
+ attribute :course_credits
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class Street
5
+ include Virtus.model
6
+
7
+ attribute :line1, String
8
+ attribute :line2, String
9
+ attribute :line3, String
10
+ attribute :complex, String
11
+ attribute :street_number, String
12
+ attribute :street_prefix, String
13
+ attribute :street_name, String
14
+ attribute :street_type, String
15
+ attribute :street_suffix, String
16
+ attribute :apartment_number_prefix, String
17
+ attribute :apartment_number, String
18
+ attribute :apartment_number_suffix, String
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,13 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class SubjectArea
5
+ require_relative 'other_code'
6
+ include Virtus.model
7
+
8
+ attribute :code, String
9
+ attribute :other_codes, Array[MODEL_COMMON::OtherCode]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ module SIF
2
+ module Model
3
+ module Group
4
+ module DataModel
5
+ class TermSpan
6
+ include Virtus.model
7
+
8
+ attribute :code
9
+ attribute :other_codes
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ module SIF
2
+ module Model
3
+ module Group
4
+ module SIS
5
+ class AttendanceCodeInfo
6
+ include Virtus.model
7
+
8
+ attribute :ref_id, String
9
+ attribute :school_info_ref_id, String
10
+ attribute :attendance_code, String
11
+ attribute :attendance_type, String
12
+ attribute :attendance_status, String
13
+ attribute :description, String
14
+ attribute :absence_value, Float
15
+ attribute :used_for_daily_attendance, Boolean
16
+ attribute :used_for_period_attendance, Boolean
17
+ attribute :metadata
18
+ attribute :extended_elements
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ require 'date'
2
+
3
+ module SIF
4
+ module Model
5
+ module Group
6
+ module SIS
7
+ class CalendarDate
8
+ include Virtus.model
9
+
10
+ attribute :date, Date
11
+ attribute :calendar_summary_ref_id, String
12
+ attribute :school_info_ref_id, String
13
+ attribute :school_year, Integer
14
+ attribute :calendar_date_type, String
15
+ attribute :calendar_date_number, Integer
16
+ attribute :student_attendance
17
+ attribute :teacher_attendance
18
+ attribute :administrator_attendance
19
+ attribute :metadata
20
+ attribute :extended_elements
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ require 'date'
2
+
3
+ module SIF
4
+ module Model
5
+ module Group
6
+ module SIS
7
+ class DisciplineIncident
8
+ include Virtus.model
9
+
10
+ attribute :ref_id, String
11
+ attribute :school_year, Integer
12
+ attribute :agency_reporting
13
+ attribute :incident_number, String
14
+ attribute :incident_date, Date
15
+ attribute :incident_time, Time
16
+ attribute :incident_location, String
17
+ attribute :incident_location_ref_id, String
18
+ attribute :incident_cost, String
19
+ attribute :incident_reporter
20
+ attribute :related_tos
21
+ attribute :weapon_types
22
+ attribute :incident_category
23
+ attribute :offenders
24
+ attribute :victims
25
+ attribute :metadata
26
+ attribute :extended_elements
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ module SIF
2
+ module Model
3
+ module Group
4
+ module SIS
5
+ class LEAInfo
6
+ include Virtus.model
7
+
8
+ attribute :ref_id, String
9
+ attribute :local_id, String
10
+ attribute :state_province_id, String
11
+ attribute :nces_id, String
12
+ attribute :lea_name, String
13
+ attribute :lea_url, String
14
+ attribute :education_agency_type, Integer
15
+ attribute :lea_contacts, Array[String]
16
+ attribute :phone_numbers, Array[Common::PhoneNumber]
17
+ attribute :addresses, Array[Common::Address]
18
+ attribute :identification_infos, Array[String]
19
+ attribute :grade_levels
20
+ attribute :operational_status, String
21
+ attribute :congressional_district, String
22
+ attribute :metadata
23
+ attribute :extended_elements
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ module SIF
2
+ module Model
3
+ module Group
4
+ module SIS
5
+ module PersonalRepresenter
6
+ include Virtus.model
7
+
8
+ attribute :name, MODEL_COMMON::Name
9
+ attribute :local_id, String
10
+ attribute :state_province_id, String
11
+ attribute :electronic_ids, Array[MODEL_COMMON::ElectronicId]
12
+ attribute :other_ids, Array[MODEL_COMMON::OtherId]
13
+ attribute :other_names, String
14
+ attribute :demographics, Array[MODEL_COMMON::Demographics]
15
+ attribute :addresses, Array[MODEL_COMMON::Address]
16
+ attribute :phone_numbers, Array[MODEL_COMMON::PhoneNumber]
17
+ attribute :emails, Array[MODEL_COMMON::Email]
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,30 @@
1
+ require_relative 'sis_representer'
2
+
3
+ module SIF
4
+ module Model
5
+ module Group
6
+ module SIS
7
+ class SchoolCourseInfo
8
+ include Virtus.model
9
+ include SISRepresenter
10
+
11
+ attribute :school_info_id, String
12
+ attribute :school_year, String
13
+ attribute :course_code, String
14
+ attribute :state_course_code, String
15
+ attribute :district_course_code, String
16
+ attribute :subject_areas, Array[Common::SubjectArea]
17
+ attribute :course_title, String
18
+ attribute :description, String
19
+ attribute :instruction_level, String
20
+ attribute :course_credits, String
21
+ attribute :core_academic_course, String
22
+ attribute :graduation_requirement, String
23
+ attribute :department, String
24
+ attribute :sced_code, Common::SCEDCode
25
+
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,32 @@
1
+ module SIF
2
+ module Model
3
+ module Group
4
+ module SIS
5
+ class SchoolInfo
6
+ include Virtus.model
7
+
8
+ attribute :ref_id, String
9
+ attribute :local_id, String
10
+ attribute :state_province_id, String
11
+ attribute :nces_id, String
12
+ attribute :school_name, String
13
+ attribute :lea_info_ref_id, String
14
+ attribute :other_lea, String
15
+ attribute :school_type, String
16
+ attribute :school_focuses, String
17
+ attribute :school_url, String
18
+ attribute :principal_info, Common::PrincipalInfo
19
+ attribute :school_contacts, Array[Common::SchoolContact]
20
+ attribute :addresses, Array[Common::Address]
21
+ attribute :phone_numbers, Array[Common::PhoneNumber]
22
+ attribute :identification_infos, Common::IdentificationInfo
23
+ attribute :session_type, String
24
+ attribute :grade_levels, String
25
+ attribute :title_1_status, String
26
+ attribute :operational_status, String
27
+ attribute :congressional_district, String
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ require_relative 'sis_representer'
2
+
3
+ module SIF
4
+ module Model
5
+ module Group
6
+ module SIS
7
+ class SectionInfo
8
+ include Virtus.model
9
+ include SISRepresenter
10
+
11
+ attribute :school_course_info, String
12
+ attribute :school_year, String
13
+ attribute :local_id, String
14
+ attribute :description, String
15
+ attribute :schedule_infos, Array[Common::ScheduleInfo]
16
+ attribute :medium_of_instruction, String
17
+ attribute :language_of_instruction, String
18
+ attribute :location_of_instruction, String
19
+ attribute :summer_school, String
20
+ attribute :school_course_info_override, Common::SchoolCourseInfoOverride
21
+
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,15 @@
1
+ module SIF
2
+ module Model
3
+ module Group
4
+ module SIS
5
+ module SISRepresenter
6
+ include Virtus.model
7
+
8
+ attribute :extended_elements, String
9
+ attribute :metadata, String
10
+ attribute :ref_id, String
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end