openagent 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +64 -0
- data/lib/openagent.rb +4 -0
- data/lib/openagent/agent.rb +24 -0
- data/lib/openagent/client.rb +170 -0
- data/lib/openagent/errors.rb +30 -0
- data/lib/openagent/message_builder.rb +171 -0
- data/lib/openagent/ssl_config.rb +26 -0
- data/lib/openagent/version.rb +3 -0
- data/lib/openagent/xml_helpers.rb +24 -0
- data/lib/openagent/zone.rb +58 -0
- data/lib/sif/infra/common/application.rb +13 -0
- data/lib/sif/infra/common/condition.rb +13 -0
- data/lib/sif/infra/common/condition_group.rb +14 -0
- data/lib/sif/infra/common/data.rb +11 -0
- data/lib/sif/infra/common/error.rb +14 -0
- data/lib/sif/infra/common/event.rb +0 -0
- data/lib/sif/infra/common/event_object.rb +12 -0
- data/lib/sif/infra/common/extended_query.rb +15 -0
- data/lib/sif/infra/common/extended_query_results.rb +12 -0
- data/lib/sif/infra/common/header.rb +27 -0
- data/lib/sif/infra/common/message.rb +49 -0
- data/lib/sif/infra/common/object.rb +11 -0
- data/lib/sif/infra/common/object_data.rb +46 -0
- data/lib/sif/infra/common/other_id.rb +12 -0
- data/lib/sif/infra/common/property.rb +12 -0
- data/lib/sif/infra/common/protocol.rb +16 -0
- data/lib/sif/infra/common/provision.rb +17 -0
- data/lib/sif/infra/common/query.rb +16 -0
- data/lib/sif/infra/common/query_object.rb +12 -0
- data/lib/sif/infra/common/secure_channel.rb +12 -0
- data/lib/sif/infra/common/security.rb +13 -0
- data/lib/sif/infra/common/status.rb +16 -0
- data/lib/sif/infra/common/unprovision.rb +9 -0
- data/lib/sif/infra/common/vendor.rb +13 -0
- data/lib/sif/infra/messages/ack.rb +16 -0
- data/lib/sif/infra/messages/event.rb +12 -0
- data/lib/sif/infra/messages/get_agent_acl.rb +11 -0
- data/lib/sif/infra/messages/get_message.rb +11 -0
- data/lib/sif/infra/messages/get_zone_status.rb +10 -0
- data/lib/sif/infra/messages/ping.rb +10 -0
- data/lib/sif/infra/messages/provide.rb +16 -0
- data/lib/sif/infra/messages/provision.rb +18 -0
- data/lib/sif/infra/messages/register.rb +21 -0
- data/lib/sif/infra/messages/request.rb +16 -0
- data/lib/sif/infra/messages/responder.rb +9 -0
- data/lib/sif/infra/messages/response.rb +18 -0
- data/lib/sif/infra/messages/sleep.rb +11 -0
- data/lib/sif/infra/messages/subscribe.rb +12 -0
- data/lib/sif/infra/messages/system_control.rb +15 -0
- data/lib/sif/infra/messages/system_control_data.rb +39 -0
- data/lib/sif/infra/messages/unprovide.rb +12 -0
- data/lib/sif/infra/messages/unregister.rb +11 -0
- data/lib/sif/infra/messages/unsubscribe.rb +12 -0
- data/lib/sif/infra/messages/wakeup.rb +11 -0
- data/lib/sif/infra/messages/zone_status_role.rb +12 -0
- data/lib/sif/infra/objects/agent_acl.rb +19 -0
- data/lib/sif/infra/objects/zone_status.rb +30 -0
- data/lib/sif/models/common/address.rb +21 -0
- data/lib/sif/models/common/alert_message.rb +12 -0
- data/lib/sif/models/common/base_name.rb +12 -0
- data/lib/sif/models/common/calendar_summary.rb +28 -0
- data/lib/sif/models/common/code.rb +12 -0
- data/lib/sif/models/common/contact_info.rb +21 -0
- data/lib/sif/models/common/credits_attempted.rb +12 -0
- data/lib/sif/models/common/demographics.rb +31 -0
- data/lib/sif/models/common/dwelling_arrangement.rb +14 -0
- data/lib/sif/models/common/earned_status.rb +15 -0
- data/lib/sif/models/common/electronic_id.rb +12 -0
- data/lib/sif/models/common/email.rb +13 -0
- data/lib/sif/models/common/english_proficiency.rb +14 -0
- data/lib/sif/models/common/exceptionality_category.rb +13 -0
- data/lib/sif/models/common/grade_level.rb +12 -0
- data/lib/sif/models/common/grid_location.rb +12 -0
- data/lib/sif/models/common/identification_info.rb +12 -0
- data/lib/sif/models/common/language.rb +14 -0
- data/lib/sif/models/common/meal_status.rb +16 -0
- data/lib/sif/models/common/medical_alert_message.rb +12 -0
- data/lib/sif/models/common/meeting_time.rb +12 -0
- data/lib/sif/models/common/name.rb +19 -0
- data/lib/sif/models/common/other_code.rb +12 -0
- data/lib/sif/models/common/other_id.rb +12 -0
- data/lib/sif/models/common/phone_number.rb +15 -0
- data/lib/sif/models/common/principal_info.rb +12 -0
- data/lib/sif/models/common/race.rb +15 -0
- data/lib/sif/models/common/sced_code.rb +15 -0
- data/lib/sif/models/common/schedule_info.rb +14 -0
- data/lib/sif/models/common/schedule_info_override.rb +13 -0
- data/lib/sif/models/common/school_contact.rb +13 -0
- data/lib/sif/models/common/school_course_info_override.rb +18 -0
- data/lib/sif/models/common/street.rb +22 -0
- data/lib/sif/models/common/subject_area.rb +13 -0
- data/lib/sif/models/groups/data_model/term_span.rb +14 -0
- data/lib/sif/models/groups/sis/attendance_code_info.rb +23 -0
- data/lib/sif/models/groups/sis/calendar_date.rb +25 -0
- data/lib/sif/models/groups/sis/discipline_incident.rb +31 -0
- data/lib/sif/models/groups/sis/lea_info.rb +28 -0
- data/lib/sif/models/groups/sis/personal_representer.rb +22 -0
- data/lib/sif/models/groups/sis/school_course_info.rb +30 -0
- data/lib/sif/models/groups/sis/school_info.rb +32 -0
- data/lib/sif/models/groups/sis/section_info.rb +26 -0
- data/lib/sif/models/groups/sis/sis_representer.rb +15 -0
- data/lib/sif/models/groups/sis/staff_personal.rb +20 -0
- data/lib/sif/models/groups/sis/student_personal.rb +37 -0
- data/lib/sif/models/groups/sis/student_section_enrollment.rb +21 -0
- data/lib/sif/models/groups/sis/term_info.rb +29 -0
- data/lib/sif/representations/infra/common/application.rb +16 -0
- data/lib/sif/representations/infra/common/condition.rb +16 -0
- data/lib/sif/representations/infra/common/condition_group.rb +18 -0
- data/lib/sif/representations/infra/common/data.rb +17 -0
- data/lib/sif/representations/infra/common/error.rb +17 -0
- data/lib/sif/representations/infra/common/event.rb +0 -0
- data/lib/sif/representations/infra/common/event_object.rb +15 -0
- data/lib/sif/representations/infra/common/extended_query.rb +18 -0
- data/lib/sif/representations/infra/common/extended_query_results.rb +15 -0
- data/lib/sif/representations/infra/common/header.rb +23 -0
- data/lib/sif/representations/infra/common/message.rb +54 -0
- data/lib/sif/representations/infra/common/object.rb +14 -0
- data/lib/sif/representations/infra/common/object_data.rb +43 -0
- data/lib/sif/representations/infra/common/other_id.rb +15 -0
- data/lib/sif/representations/infra/common/property.rb +15 -0
- data/lib/sif/representations/infra/common/protocol.rb +22 -0
- data/lib/sif/representations/infra/common/provision.rb +38 -0
- data/lib/sif/representations/infra/common/query.rb +24 -0
- data/lib/sif/representations/infra/common/query_object.rb +15 -0
- data/lib/sif/representations/infra/common/secure_channel.rb +15 -0
- data/lib/sif/representations/infra/common/security.rb +18 -0
- data/lib/sif/representations/infra/common/status.rb +18 -0
- data/lib/sif/representations/infra/messages/ack.rb +25 -0
- data/lib/sif/representations/infra/messages/event.rb +19 -0
- data/lib/sif/representations/infra/messages/get_message.rb +12 -0
- data/lib/sif/representations/infra/messages/ping.rb +13 -0
- data/lib/sif/representations/infra/messages/provide.rb +19 -0
- data/lib/sif/representations/infra/messages/provision.rb +37 -0
- data/lib/sif/representations/infra/messages/register.rb +30 -0
- data/lib/sif/representations/infra/messages/request.rb +24 -0
- data/lib/sif/representations/infra/messages/response.rb +29 -0
- data/lib/sif/representations/infra/messages/sleep.rb +14 -0
- data/lib/sif/representations/infra/messages/subscribe.rb +19 -0
- data/lib/sif/representations/infra/messages/system_control.rb +23 -0
- data/lib/sif/representations/infra/messages/system_control_data.rb +31 -0
- data/lib/sif/representations/infra/messages/wakeup.rb +14 -0
- data/lib/sif/representations/models/common/address.rb +24 -0
- data/lib/sif/representations/models/common/alert_message.rb +16 -0
- data/lib/sif/representations/models/common/contact_info.rb +28 -0
- data/lib/sif/representations/models/common/credits_attempted.rb +15 -0
- data/lib/sif/representations/models/common/demographics.rb +43 -0
- data/lib/sif/representations/models/common/dwelling_arrangement.rb +18 -0
- data/lib/sif/representations/models/common/electronic_id.rb +16 -0
- data/lib/sif/representations/models/common/email.rb +16 -0
- data/lib/sif/representations/models/common/english_proficiency.rb +17 -0
- data/lib/sif/representations/models/common/identification_info.rb +16 -0
- data/lib/sif/representations/models/common/language.rb +19 -0
- data/lib/sif/representations/models/common/medical_alert_message.rb +15 -0
- data/lib/sif/representations/models/common/meeting_time.rb +16 -0
- data/lib/sif/representations/models/common/name.rb +22 -0
- data/lib/sif/representations/models/common/other_code.rb +15 -0
- data/lib/sif/representations/models/common/other_id.rb +15 -0
- data/lib/sif/representations/models/common/phone_number.rb +18 -0
- data/lib/sif/representations/models/common/principal_info.rb +15 -0
- data/lib/sif/representations/models/common/race.rb +18 -0
- data/lib/sif/representations/models/common/sced_code.rb +18 -0
- data/lib/sif/representations/models/common/schedule_info.rb +19 -0
- data/lib/sif/representations/models/common/schedule_info_override.rb +18 -0
- data/lib/sif/representations/models/common/school_contact.rb +17 -0
- data/lib/sif/representations/models/common/school_course_info_override.rb +21 -0
- data/lib/sif/representations/models/common/street.rb +26 -0
- data/lib/sif/representations/models/common/subject_area.rb +17 -0
- data/lib/sif/representations/models/groups/data_model/term_span.rb +20 -0
- data/lib/sif/representations/models/groups/sis/personal_representer.rb +38 -0
- data/lib/sif/representations/models/groups/sis/school_course_info.rb +36 -0
- data/lib/sif/representations/models/groups/sis/school_info.rb +47 -0
- data/lib/sif/representations/models/groups/sis/section_info.rb +29 -0
- data/lib/sif/representations/models/groups/sis/sis_representer.rb +17 -0
- data/lib/sif/representations/models/groups/sis/staff_personal.rb +19 -0
- data/lib/sif/representations/models/groups/sis/student_personal.rb +37 -0
- data/lib/sif/representations/models/groups/sis/student_section_enrollment.rb +26 -0
- data/lib/sif/representations/models/groups/sis/term_info.rb +30 -0
- data/lib/sif/sif.rb +249 -0
- data/openagent.gemspec +33 -0
- data/spec/agent_spec.rb +32 -0
- data/spec/client_spec.rb +96 -0
- data/spec/fixtures/agent.yaml +31 -0
- data/spec/fixtures/messages/event.xml +72 -0
- data/spec/fixtures/messages/response.xml +107 -0
- data/spec/fixtures/sif/attendance_code_info.xml +9 -0
- data/spec/fixtures/sif/calendar_date.xml +22 -0
- data/spec/fixtures/sif/calendar_summary.xml +21 -0
- data/spec/fixtures/sif/demographics.xml +33 -0
- data/spec/fixtures/sif/discipline_incident.xml +70 -0
- data/spec/fixtures/sif/lea_info.xml +55 -0
- data/spec/fixtures/sif/section_info.xml +1536 -0
- data/spec/fixtures/sif/sif_header.xml +12 -0
- data/spec/fixtures/sif/sif_message__response.xml +107 -0
- data/spec/fixtures/sif/sif_object_data.xml +5 -0
- data/spec/fixtures/sif/sif_protocol.xml +3 -0
- data/spec/fixtures/sif/sif_protocol__properties.xml +10 -0
- data/spec/fixtures/sif/sif_provide.xml +9 -0
- data/spec/fixtures/sif/sif_provision.xml +33 -0
- data/spec/fixtures/sif/sif_register.xml +20 -0
- data/spec/fixtures/sif/sif_request.xml +21 -0
- data/spec/fixtures/sif/sif_response.xml +19 -0
- data/spec/fixtures/sif/sif_system_control.xml +10 -0
- data/spec/fixtures/sif/stu_pers_resp.xml +2 -0
- data/spec/fixtures/sif/student_personal.xml +42 -0
- data/spec/fixtures/zone.yaml +6 -0
- data/spec/message_builder_spec.rb +81 -0
- data/spec/response_spec.rb +35 -0
- data/spec/sif/representations/xml/header_spec.rb +30 -0
- data/spec/sif/representations/xml/message_spec.rb +20 -0
- data/spec/sif/representations/xml/object_data_spec.rb +19 -0
- data/spec/sif/representations/xml/protocol_spec.rb +34 -0
- data/spec/sif/representations/xml/provide_spec.rb +19 -0
- data/spec/sif/representations/xml/provision_spec.rb +56 -0
- data/spec/sif/representations/xml/register_spec.rb +17 -0
- data/spec/sif/representations/xml/request_spec.rb +17 -0
- data/spec/sif/representations/xml/response_spec.rb +16 -0
- data/spec/sif/representations/xml/spec_helper.rb +7 -0
- data/spec/sif/representations/xml/student_personal_spec.rb +69 -0
- data/spec/spec_helper.rb +7 -0
- data/spec/zone_spec.rb +26 -0
- metadata +455 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative 'query_object'
|
2
|
+
require_relative 'condition_group'
|
3
|
+
|
4
|
+
module SIF
|
5
|
+
module Infra
|
6
|
+
module Common
|
7
|
+
class Query
|
8
|
+
include Virtus.model
|
9
|
+
|
10
|
+
attribute :query_object, QueryObject
|
11
|
+
attribute :condition_group, ConditionGroup
|
12
|
+
attribute :example
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module SIF
|
2
|
+
module Infra
|
3
|
+
module Message
|
4
|
+
class Ack
|
5
|
+
include Virtus.model
|
6
|
+
|
7
|
+
attribute :original_source_id, String
|
8
|
+
attribute :original_msg_id, String
|
9
|
+
|
10
|
+
attribute :header, Common::Header
|
11
|
+
attribute :status, Common::Status
|
12
|
+
attribute :error, Common::Error
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module SIF
|
2
|
+
module Infra
|
3
|
+
module Message
|
4
|
+
class Provide
|
5
|
+
include Virtus.model
|
6
|
+
|
7
|
+
attribute :header, Common::Header
|
8
|
+
attribute :objects, Array[Common::Object]
|
9
|
+
|
10
|
+
def object_names
|
11
|
+
objects.map{ |o| o.object_name }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module SIF
|
2
|
+
module Infra
|
3
|
+
module Message
|
4
|
+
class Provision
|
5
|
+
include Virtus.model
|
6
|
+
|
7
|
+
attribute :header, Common::Header
|
8
|
+
attribute :provide_objects, Array[Common::Object]
|
9
|
+
attribute :subscribe_objects, Array[Common::Object]
|
10
|
+
attribute :publish_add_objects, Array[Common::Object]
|
11
|
+
attribute :publish_change_objects, Array[Common::Object]
|
12
|
+
attribute :publish_delete_objects, Array[Common::Object]
|
13
|
+
attribute :request_objects, Array[Common::Object]
|
14
|
+
attribute :respond_objects, Array[Common::Object]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module SIF
|
2
|
+
module Infra
|
3
|
+
module Message
|
4
|
+
class Register
|
5
|
+
include Virtus.model
|
6
|
+
|
7
|
+
attribute :header, Common::Header
|
8
|
+
attribute :protocol, Common::Protocol
|
9
|
+
attribute :application, Common::Application
|
10
|
+
|
11
|
+
attribute :name, String
|
12
|
+
attribute :version, String
|
13
|
+
attribute :max_buffer_size, Integer
|
14
|
+
attribute :mode, String
|
15
|
+
attribute :node_vendor, String
|
16
|
+
attribute :node_version, String
|
17
|
+
attribute :icon, String
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module SIF
|
2
|
+
module Infra
|
3
|
+
module Message
|
4
|
+
class Request
|
5
|
+
include Virtus.model
|
6
|
+
|
7
|
+
attribute :header, Common::Header
|
8
|
+
attribute :query, Common::Query
|
9
|
+
attribute :extended_query, Common::ExtendedQuery
|
10
|
+
|
11
|
+
attribute :version, String
|
12
|
+
attribute :max_buffer_size, Integer
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module SIF
|
2
|
+
module Infra
|
3
|
+
module Message
|
4
|
+
class Response
|
5
|
+
include Virtus.model
|
6
|
+
|
7
|
+
attribute :header, Common::Header
|
8
|
+
attribute :error, Common::Error
|
9
|
+
attribute :object_data, Common::ObjectData
|
10
|
+
attribute :extended_query_results, Common::ExtendedQueryResults
|
11
|
+
|
12
|
+
attribute :request_msg_id, String
|
13
|
+
attribute :packet_number, Integer
|
14
|
+
attribute :more_packets, Boolean
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative 'system_control_data'
|
2
|
+
|
3
|
+
module SIF
|
4
|
+
module Infra
|
5
|
+
module Message
|
6
|
+
class SystemControl
|
7
|
+
include Virtus.model
|
8
|
+
|
9
|
+
attribute :header, Common::Header
|
10
|
+
attribute :system_control_data, Message::SystemControlData
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require_relative 'get_message'
|
2
|
+
require_relative 'get_zone_status'
|
3
|
+
require_relative 'get_agent_acl'
|
4
|
+
require_relative 'ping'
|
5
|
+
require_relative 'sleep'
|
6
|
+
require_relative 'wakeup'
|
7
|
+
|
8
|
+
module SIF
|
9
|
+
module Infra
|
10
|
+
module Message
|
11
|
+
class SystemControlData
|
12
|
+
include Virtus.model
|
13
|
+
|
14
|
+
attribute :get_message, GetMessage
|
15
|
+
attribute :get_zone_status, GetZoneStatus
|
16
|
+
attribute :get_agent_acl, GetAgentACL
|
17
|
+
attribute :ping, Ping
|
18
|
+
attribute :sleep, Sleep
|
19
|
+
attribute :wake, Wakeup
|
20
|
+
|
21
|
+
def data
|
22
|
+
get_message || ping || sleep || wake
|
23
|
+
end
|
24
|
+
|
25
|
+
def data=(assign)
|
26
|
+
case assign
|
27
|
+
when GetMessage then self.get_message = assign
|
28
|
+
when GetZoneStatus then self.get_zone_status = assign
|
29
|
+
when GetAgentACL then self.get_agent_acl = assign
|
30
|
+
when Ping then self.ping = assign
|
31
|
+
when Sleep then self.sleep = assign
|
32
|
+
when Wakeup then self.wake = assign
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|