openagent 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
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,19 @@
1
+ module SIF
2
+ module Infra
3
+ module Object
4
+ class AgentACL
5
+ include Virtus.model
6
+
7
+ attribute :provide_access
8
+ attribute :subscribe_access
9
+ attribute :publish_add_access
10
+ attribute :publish_change_access
11
+ attribute :publish_delete_access
12
+ attribute :request_access
13
+ attribute :respond_access
14
+ attribute :metadata
15
+ attribute :extended_elements
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,30 @@
1
+ module SIF
2
+ module Infra
3
+ module Object
4
+ class ZoneStatus
5
+ include Virtus.model
6
+
7
+ attribute :vendor, Common::Vendor
8
+
9
+ attribute :zone_id, String
10
+ attribute :name, String
11
+ attribute :icon, String
12
+ attribute :providers
13
+ attribute :subscribers
14
+ attribute :add_publishers
15
+ attribute :change_publishers
16
+ attribute :delete_publishers
17
+ attribute :responders
18
+ attribute :requesters
19
+ attribute :sif_nodes
20
+ attribute :supported_authentication
21
+ attribute :supported_protocols
22
+ attribute :supported_versions
23
+ attribute :administration_url
24
+ attribute :contexts
25
+ attribute :metadata
26
+ attribute :extended_elements
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class Address
5
+ require_relative 'street'
6
+ require_relative 'grid_location'
7
+
8
+ include Virtus.model
9
+
10
+ attribute :type, String
11
+ attribute :street, Street
12
+ attribute :city, String
13
+ attribute :county, String
14
+ attribute :state_province, String
15
+ attribute :country, String
16
+ attribute :postal_code, String
17
+ attribute :grid_location, GridLocation
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class AlertMessage
5
+ include Virtus.model
6
+
7
+ attribute :type, String
8
+ attribute :value, String
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class BaseName
5
+ include Virtus.model
6
+
7
+ attribute :type, String
8
+ attribute :value, String
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,28 @@
1
+ require 'date'
2
+
3
+ module SIF
4
+ module Model
5
+ module Common
6
+ class CalendarSummary
7
+ include Virtus.model
8
+
9
+ attribute :date, Date
10
+ attribute :school_info_ref_id, String
11
+ attribute :school_year, Integer
12
+ attribute :local_id, String
13
+ attribute :description, String
14
+ attribute :days_in_session, Integer
15
+ attribute :start_date, Date
16
+ attribute :end_date, Date
17
+ attribute :first_instruction_date, Date
18
+ attribute :last_instruction_date, Date
19
+ attribute :graduation_date, Date
20
+ attribute :instructional_minutes, Integer
21
+ attribute :minutes_per_day, Integer
22
+ attribute :grade_levels
23
+ attribute :metadata
24
+ attribute :extended_elements
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class Code
5
+ include Virtus.model
6
+
7
+ attribute :code, Integer
8
+ attribute :other_codes, Array[String]
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ require_relative 'name'
2
+ require_relative 'address'
3
+ require_relative 'email'
4
+ require_relative 'phone_number'
5
+
6
+ module SIF
7
+ module Model
8
+ module Common
9
+ class ContactInfo
10
+ include Virtus.model
11
+
12
+ attribute :name, Name
13
+ attribute :position_title, String
14
+ attribute :role, String
15
+ attribute :address, Address
16
+ attribute :emails, Array[Email]
17
+ attribute :phone_numbers, Array[PhoneNumber]
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class CreditsAttempted
5
+ include Virtus.model
6
+
7
+ attribute :type
8
+ attribute :value, Float
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,31 @@
1
+ require 'date'
2
+ require_relative 'language'
3
+ require_relative 'race'
4
+
5
+ module SIF
6
+ module Model
7
+ module Common
8
+ class Demographics
9
+ include Virtus.model
10
+
11
+ attribute :races, Array[Race]
12
+ attribute :hispanic_latino, Boolean
13
+ attribute :gender, String
14
+ attribute :birth_date, Date
15
+ attribute :birth_date_verification, String
16
+ attribute :place_of_birth, String
17
+ attribute :county_of_birth, String
18
+ attribute :state_of_birth, String
19
+ attribute :country_of_birth, String
20
+ attribute :countries_of_citizenship, Array[String]
21
+ attribute :countries_of_residency, Array[String]
22
+ attribute :country_arrival_date, Date
23
+ attribute :citizenship_status, Integer
24
+ attribute :english_proficiency
25
+ attribute :languages, Array[Language]
26
+ attribute :dwelling_arrangement, String
27
+ attribute :marital_status, String
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,14 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class DwellingArrangement
5
+ require_relative 'other_code'
6
+
7
+ include Virtus.model
8
+
9
+ attribute :code, String
10
+ attribute :other_codes, Array[MODEL_COMMON::OtherCode]
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ require 'date'
2
+
3
+ module SIF
4
+ module Model
5
+ module Common
6
+ class EarnedStatus
7
+ include Virtus.model
8
+
9
+ attribute :type, String
10
+ attribute :start_date, Date
11
+ attribute :end_date, Date
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class ElectronicId
5
+ include Virtus.model
6
+
7
+ attribute :type, String
8
+ attribute :value
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class Email
5
+ include Virtus.model
6
+
7
+ attribute :action, String
8
+ attribute :value, String
9
+ attribute :type, String
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class EnglishProficiency
5
+ require_relative 'other_code'
6
+
7
+ include Virtus.model
8
+
9
+ attribute :code, String
10
+ attribute :other_codes, Array[MODEL_COMMON::OtherCode]
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class ExceptionalityCategory
5
+ include Virtus.model
6
+
7
+ attribute :code, String
8
+ attribute :other_codes, Array[String]
9
+ attribute :exceptionality_priority, String
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class GradeLevel
5
+ include Virtus.model
6
+
7
+ attribute :code, String
8
+ attribute :other_codes, Array[String]
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class GridLocation
5
+ include Virtus.model
6
+
7
+ attribute :latitude, Float
8
+ attribute :longitude, Float
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class IdentificationInfo
5
+ include Virtus.model
6
+
7
+ attribute :code, String
8
+ attribute :value, String
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class Language
5
+ include Virtus.model
6
+
7
+ attribute :code, String
8
+ attribute :language_type
9
+ attribute :dialect
10
+ attribute :other_codes, Array[String]
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ require 'date'
2
+
3
+ module SIF
4
+ module Model
5
+ module Common
6
+ class MealStatus
7
+ include Virtus.model
8
+
9
+ attribute :type, String
10
+ attribute :start_date, Date
11
+ attribute :end_date, Date
12
+ attribute :school_year, Integer
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class MedicalAlertMessage
5
+ include Virtus.model
6
+
7
+ attribute :type, String
8
+ attribute :value, String
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class MeetingTime
5
+ include Virtus.model
6
+
7
+ attribute :timetable_day, String
8
+ attribute :timetable_period, String
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class Name
5
+ include Virtus.model
6
+
7
+ attribute :type, String
8
+ attribute :prefix, String
9
+ attribute :last_name, String
10
+ attribute :first_name, String
11
+ attribute :middle_name, String
12
+ attribute :suffix, String
13
+ attribute :preferred_name, String
14
+ attribute :sort_name, String
15
+ attribute :full_name, String
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ module SIF
2
+ module Model
3
+ module Common
4
+ class OtherCode
5
+ include Virtus.model
6
+
7
+ attribute :value, String
8
+ attribute :code_set, String
9
+ end
10
+ end
11
+ end
12
+ end