openagent 0.7.7 → 0.7.8
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/openagent/version.rb +1 -1
- data/lib/sif/models/common/extended_element.rb +12 -0
- data/lib/sif/models/groups/sis/personal_representer.rb +3 -0
- data/lib/sif/models/groups/sis/sis_representer.rb +13 -1
- data/lib/sif/models/groups/sis/student_personal.rb +7 -0
- data/lib/sif/representations/models/common/address.rb +3 -1
- data/lib/sif/representations/models/common/extended_element.rb +17 -0
- data/lib/sif/representations/models/common/grid_location.rb +16 -0
- data/lib/sif/representations/models/groups/sis/sis_representer.rb +3 -1
- data/lib/sif/sif.rb +2 -0
- data/spec/fixtures/sif/student_personal.xml +9 -0
- data/spec/sif/representations/xml/student_personal_spec.rb +21 -4
- metadata +5 -2
data/lib/openagent/version.rb
CHANGED
@@ -5,9 +5,21 @@ module SIF
|
|
5
5
|
module SISRepresenter
|
6
6
|
include Virtus.model
|
7
7
|
|
8
|
-
attribute :extended_elements,
|
8
|
+
attribute :extended_elements, Array[MODEL_COMMON::ExtendedElement]
|
9
9
|
attribute :metadata, String
|
10
10
|
attribute :ref_id, String
|
11
|
+
|
12
|
+
def find_element(name)
|
13
|
+
el = extended_elements.find{ |e| e.name == name }
|
14
|
+
el ? el.value : nil
|
15
|
+
end
|
16
|
+
|
17
|
+
def username
|
18
|
+
find_element("USERNAME")
|
19
|
+
end
|
20
|
+
def password
|
21
|
+
find_element("PASSWORD")
|
22
|
+
end
|
11
23
|
end
|
12
24
|
end
|
13
25
|
end
|
@@ -30,6 +30,13 @@ module SIF
|
|
30
30
|
|
31
31
|
attribute :alert_messages, Array[Common::AlertMessage]
|
32
32
|
attribute :medical_alert_messages, Array[Common::MedicalAlertMessage]
|
33
|
+
|
34
|
+
def student_email
|
35
|
+
find_element("STUDENT_EMAIL")
|
36
|
+
end
|
37
|
+
def email
|
38
|
+
student_email || first_email
|
39
|
+
end
|
33
40
|
end
|
34
41
|
end
|
35
42
|
end
|
@@ -16,7 +16,9 @@ module SIF
|
|
16
16
|
property :state_province, :as => 'StateProvince'
|
17
17
|
property :country, :as => 'Country'
|
18
18
|
property :postal_code, :as => 'PostalCode'
|
19
|
-
property :grid_location, :as => 'GridLocation'
|
19
|
+
property :grid_location, :as => 'GridLocation',
|
20
|
+
:class => MODEL_COMMON::GridLocation,
|
21
|
+
:decorator => REPR_COMMON::GridLocation
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module SIF
|
2
|
+
module Representation
|
3
|
+
module Model
|
4
|
+
module Common
|
5
|
+
module ExtendedElement
|
6
|
+
include Representable::XML
|
7
|
+
|
8
|
+
self.representation_wrap = 'SIF_ExtendedElement'
|
9
|
+
|
10
|
+
property :name, :as => 'Name', :attribute => true
|
11
|
+
property :value, :content => true
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module SIF
|
2
|
+
module Representation
|
3
|
+
module Model
|
4
|
+
module Common
|
5
|
+
class GridLocation < SIF::Represent
|
6
|
+
|
7
|
+
self.representation_wrap = 'GridLocation'
|
8
|
+
|
9
|
+
property :latitude, :as => 'Latitude'
|
10
|
+
property :longitude, :as => 'Longitude'
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -8,7 +8,9 @@ module SIF
|
|
8
8
|
|
9
9
|
property :ref_id, :attribute => true, :as => 'RefId'
|
10
10
|
property :metadata, :as => 'SIF_Metadata'
|
11
|
-
|
11
|
+
collection :extended_elements, :as => 'SIF_ExtendedElement', :wrap => 'SIF_ExtendedElements',
|
12
|
+
:class => MODEL_COMMON::ExtendedElement,
|
13
|
+
:decorator => REPR_COMMON::ExtendedElement
|
12
14
|
end
|
13
15
|
end
|
14
16
|
end
|
data/lib/sif/sif.rb
CHANGED
@@ -77,6 +77,7 @@ module SIF
|
|
77
77
|
autoload :EnglishProficiency, 'sif/models/common/english_proficiency'
|
78
78
|
autoload :Email, 'sif/models/common/email'
|
79
79
|
autoload :ExceptionalityCategory, 'sif/models/common/exceptionality_category'
|
80
|
+
autoload :ExtendedElement, 'sif/models/common/extended_element'
|
80
81
|
autoload :GradeLevel, 'sif/models/common/grade_level'
|
81
82
|
autoload :GridLocation, 'sif/models/common/grid_location'
|
82
83
|
autoload :IdentificationInfo, 'sif/models/common/identification_info'
|
@@ -194,6 +195,7 @@ module SIF
|
|
194
195
|
autoload :EnglishProficiency, 'sif/representations/models/common/english_proficiency'
|
195
196
|
autoload :Email, 'sif/representations/models/common/email'
|
196
197
|
autoload :ExceptionalityCategory, 'sif/representations/models/common/exceptionality_category'
|
198
|
+
autoload :ExtendedElement, 'sif/representations/models/common/extended_element'
|
197
199
|
autoload :GradeLevel, 'sif/representations/models/common/grade_level'
|
198
200
|
autoload :GridLocation, 'sif/representations/models/common/grid_location'
|
199
201
|
autoload :IdentificationInfo, 'sif/representations/models/common/identification_info'
|
@@ -28,6 +28,10 @@
|
|
28
28
|
<StateProvince>IL</StateProvince>
|
29
29
|
<Country>US</Country>
|
30
30
|
<PostalCode>60660</PostalCode>
|
31
|
+
<GridLocation>
|
32
|
+
<Latitude>39.00522</Latitude>
|
33
|
+
<Longitude>-95.645111</Longitude>
|
34
|
+
</GridLocation>
|
31
35
|
</Address>
|
32
36
|
</AddressList>
|
33
37
|
<PhoneNumberList>
|
@@ -39,4 +43,9 @@
|
|
39
43
|
<Email Type="Primary">Joe.Student@anyschool.com</Email>
|
40
44
|
</EmailList>
|
41
45
|
<OnTimeGraduationYear>2007</OnTimeGraduationYear>
|
46
|
+
<SIF_ExtendedElements>
|
47
|
+
<SIF_ExtendedElement Name="STUDENT_EMAIL">email@anyschool.net</SIF_ExtendedElement>
|
48
|
+
<SIF_ExtendedElement Name="PASSWORD">some_P@ssw0rd</SIF_ExtendedElement>
|
49
|
+
<SIF_ExtendedElement Name="USERNAME">some_username</SIF_ExtendedElement>
|
50
|
+
</SIF_ExtendedElements>
|
42
51
|
</StudentPersonal>
|
@@ -83,8 +83,12 @@ describe SIF::Representation::Model::Group::SIS::StudentPersonal do
|
|
83
83
|
:city => 'Chicago',
|
84
84
|
:state_province => 'IL',
|
85
85
|
:country => 'US',
|
86
|
-
:postal_code => '60660'
|
87
|
-
|
86
|
+
:postal_code => '60660',
|
87
|
+
:grid_location => SIF::Model::Common::GridLocation.new(
|
88
|
+
:latitude => 39.00522,
|
89
|
+
:longitude => -95.645111
|
90
|
+
),
|
91
|
+
),
|
88
92
|
],
|
89
93
|
:phone_numbers => [
|
90
94
|
SIF::Model::Common::PhoneNumber.new(
|
@@ -96,9 +100,22 @@ describe SIF::Representation::Model::Group::SIS::StudentPersonal do
|
|
96
100
|
:type => 'Primary',
|
97
101
|
:value => 'Joe.Student@anyschool.com'
|
98
102
|
],
|
99
|
-
:on_time_graduation_year => 2007
|
103
|
+
:on_time_graduation_year => 2007,
|
104
|
+
:extended_elements => [
|
105
|
+
SIF::Model::Common::ExtendedElement.new(
|
106
|
+
:name => 'STUDENT_EMAIL',
|
107
|
+
:value => 'email@anyschool.net'
|
108
|
+
),
|
109
|
+
SIF::Model::Common::ExtendedElement.new(
|
110
|
+
:name => 'PASSWORD',
|
111
|
+
:value => 'some_P@ssw0rd'
|
112
|
+
),
|
113
|
+
SIF::Model::Common::ExtendedElement.new(
|
114
|
+
:name => 'USERNAME',
|
115
|
+
:value => 'some_username'
|
116
|
+
),
|
117
|
+
],
|
100
118
|
)
|
101
|
-
|
102
119
|
orig_xml = SIF::Representation::Model::Group::SIS::StudentPersonal.new(student).to_xml
|
103
120
|
new_xml = SIF::Representation::Model::Group::SIS::StudentPersonal.new(new_student).to_xml
|
104
121
|
|
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.7.
|
4
|
+
version: 0.7.8
|
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: 2013-
|
14
|
+
date: 2013-12-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rake
|
@@ -239,6 +239,7 @@ files:
|
|
239
239
|
- lib/sif/models/common/email.rb
|
240
240
|
- lib/sif/models/common/english_proficiency.rb
|
241
241
|
- lib/sif/models/common/exceptionality_category.rb
|
242
|
+
- lib/sif/models/common/extended_element.rb
|
242
243
|
- lib/sif/models/common/grade_level.rb
|
243
244
|
- lib/sif/models/common/grid_location.rb
|
244
245
|
- lib/sif/models/common/identification_info.rb
|
@@ -318,6 +319,8 @@ files:
|
|
318
319
|
- lib/sif/representations/models/common/electronic_id.rb
|
319
320
|
- lib/sif/representations/models/common/email.rb
|
320
321
|
- lib/sif/representations/models/common/english_proficiency.rb
|
322
|
+
- lib/sif/representations/models/common/extended_element.rb
|
323
|
+
- lib/sif/representations/models/common/grid_location.rb
|
321
324
|
- lib/sif/representations/models/common/identification_info.rb
|
322
325
|
- lib/sif/representations/models/common/language.rb
|
323
326
|
- lib/sif/representations/models/common/medical_alert_message.rb
|