resume_exporter 1.0.0 → 1.1.0
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.
- checksums.yaml +4 -4
- data/bin/resume_exporter +1 -1
- data/lib/exporters/xml.rb +1 -1
- data/lib/extractors/base.rb +2 -2
- data/lib/extractors/html/linkedin.rb +1 -1
- data/lib/extractors/html/xing.rb +1 -1
- data/lib/extractors/json/fresh.rb +2 -2
- data/lib/extractors/json/prtflio.rb +4 -4
- data/lib/templates/default.json.jbuilder +128 -146
- data/lib/templates/default.md.erb +76 -37
- data/lib/templates/default.txt.erb +154 -100
- data/lib/templates/default.xml.builder +211 -149
- data/lib/templates/fresh.json.jbuilder +3 -5
- data/lib/templates/json_resume.json.jbuilder +2 -2
- metadata +2 -2
@@ -5,254 +5,308 @@
|
|
5
5
|
<%= @data.dig("basics", "summary") %>
|
6
6
|
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
<%= @data.dig("employment", "disposition") %>
|
8
|
+
Contact
|
9
|
+
|
10
|
+
Email: <%= @data.dig("basics", "contact", "email") %>
|
11
|
+
Phone: <%= @data.dig("basics", "contact", "phone") %>
|
12
|
+
Website: <%= @data.dig("basics", "contact", "website") %>
|
13
|
+
Address: <%= @data.dig("basics", "contact", "location") %>
|
14
|
+
<% if @data.dig("basics", "contact", "social") %>
|
15
|
+
<% for social in @data.dig("basics", "contact", "social") %>
|
16
|
+
<%= social["network"] %>: <%= social["user"] %>, <%= social["url"] %>
|
17
|
+
<% end %>
|
18
|
+
<% end %>
|
21
19
|
|
22
20
|
|
23
|
-
|
21
|
+
<% if @data.dig("basics", "disposition") %>
|
22
|
+
Disposition
|
23
|
+
<%= @data.dig("basics", "disposition") %>
|
24
|
+
<% end %>
|
24
25
|
|
25
|
-
<%
|
26
|
-
|
26
|
+
<% if @data.dig("employment") %>
|
27
|
+
Work Experience
|
28
|
+
<% for job in @data.dig("employment") %>
|
29
|
+
<%= job["employer"] %>, <%= job["url"] %>
|
27
30
|
|
28
31
|
<%= job["position"] %> | <%= job["startDate"] %> - <%= job["endDate"] %>
|
29
32
|
<%= job["location"] %>
|
30
33
|
|
31
34
|
<%= job["summary"] %>
|
32
35
|
|
33
|
-
|
36
|
+
<% if job["keywords"] %>
|
37
|
+
Keywords: <%= job["keywords"].join(", ") %>
|
38
|
+
<% end %>
|
34
39
|
|
40
|
+
<% end %>
|
35
41
|
<% end %>
|
36
42
|
|
37
|
-
|
38
|
-
|
39
|
-
<% for entry in @data.dig("education") %>
|
40
|
-
<%= entry["institution"]
|
43
|
+
<% if @data.dig("education") %>
|
44
|
+
Education
|
45
|
+
<% for entry in @data.dig("education") %>
|
46
|
+
<%= entry["institution"] %>, <%= entry["url"] %>
|
41
47
|
|
42
48
|
<%= entry["fieldOfStudy"] %>, <%= entry["degree"] %>, <%= entry["grade"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
|
43
49
|
<%= entry["location"] %>
|
44
50
|
|
45
51
|
<%= entry["summary"] %>
|
46
52
|
|
47
|
-
|
53
|
+
<% if entry["keywords"] %>
|
54
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
55
|
+
<% end %>
|
48
56
|
|
57
|
+
<% end %>
|
49
58
|
<% end %>
|
50
59
|
|
51
60
|
|
52
|
-
|
53
|
-
|
54
|
-
<% for project in @data.dig("projects") %>
|
55
|
-
<%= project["title"]
|
61
|
+
<% if @data.dig("projects") %>
|
62
|
+
Projects
|
63
|
+
<% for project in @data.dig("projects") %>
|
64
|
+
<%= project["title"] %>, <%= project["url"] %>
|
56
65
|
|
57
66
|
<%= project["category"] %>, <%= project["repo"] %>, <%= project["repo"] %> | <%= project["startDate"] %> - <%= project["endDate"] %>
|
58
67
|
|
59
68
|
<%= project["summary"] %>
|
60
69
|
|
61
|
-
|
70
|
+
<% if project["keywords"] %>
|
71
|
+
Keywords: <%= project["keywords"].join(", ") %>
|
72
|
+
<% end %>
|
62
73
|
|
74
|
+
<% end %>
|
63
75
|
<% end %>
|
64
76
|
|
65
77
|
|
66
78
|
|
67
|
-
|
68
|
-
|
69
|
-
<% for project in @data.dig("openSource") %>
|
70
|
-
<%= project["title"]
|
79
|
+
<% if @data.dig("openSource") %>
|
80
|
+
Open Source
|
81
|
+
<% for project in @data.dig("openSource") %>
|
82
|
+
<%= project["title"] %>, <%= project["url"] %>
|
71
83
|
|
72
84
|
<%= project["category"] %>, <%= project["repo"] %>, <%= project["repo"] %> | <%= project["startDate"] %> - <%= project["endDate"] %>
|
73
85
|
|
74
86
|
<%= project["summary"] %>
|
75
87
|
|
76
|
-
|
88
|
+
<% if project["keywords"] %>
|
89
|
+
Keywords: <%= project["keywords"].join(", ") %>
|
90
|
+
<% end %>
|
77
91
|
|
92
|
+
<% end %>
|
78
93
|
<% end %>
|
79
94
|
|
80
95
|
|
81
|
-
|
82
|
-
|
83
|
-
<% for skill in @data.dig("skills") %>
|
84
|
-
<%= skill["name"] %>
|
96
|
+
<% if @data.dig("skills") %>
|
97
|
+
Skills
|
98
|
+
<% for skill in @data.dig("skills") %>
|
99
|
+
<%= skill["name"] %>
|
85
100
|
<%= skill["summary"] %>
|
86
|
-
|
101
|
+
<% if skill["keywords"] %>
|
102
|
+
Keywords: <%= skill["keywords"].join(", ") %>
|
103
|
+
<% end %>
|
87
104
|
|
105
|
+
<% end %>
|
88
106
|
<% end %>
|
89
107
|
|
90
108
|
|
91
109
|
|
92
|
-
|
93
|
-
|
94
|
-
<% for qualification in @data.dig("qualifications") %>
|
95
|
-
<%= qualification["title"]
|
110
|
+
<% if @data.dig("qualifications") %>
|
111
|
+
Qualifications
|
112
|
+
<% for qualification in @data.dig("qualifications") %>
|
113
|
+
<%= qualification["title"] %>, <%= qualification["url"] %>
|
96
114
|
|
97
115
|
<%= qualification["category"] %>, <%= qualification["from"] %> | <%= qualification["startDate"] %> - <%= qualification["endDate"] %>
|
98
116
|
|
99
117
|
<%= qualification["summary"] %>
|
100
118
|
|
101
|
-
|
119
|
+
<% if qualification["keywords"] %>
|
120
|
+
Keywords: <%= qualification["keywords"].join(", ") %>
|
121
|
+
<% end %>
|
102
122
|
|
123
|
+
<% end %>
|
103
124
|
<% end %>
|
104
125
|
|
105
126
|
|
106
|
-
|
107
|
-
|
108
|
-
<% for entry in @data.dig("recognition") %>
|
109
|
-
<%= entry["title"]
|
127
|
+
<% if @data.dig("recognition") %>
|
128
|
+
Recognition
|
129
|
+
<% for entry in @data.dig("recognition") %>
|
130
|
+
<%= entry["title"] %>, <%= entry["url"] %>
|
110
131
|
|
111
132
|
<%= entry["category"] %>, <%= entry["from"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
|
112
133
|
|
113
134
|
<%= entry["summary"] %>
|
114
135
|
|
115
|
-
|
136
|
+
<% if entry["keywords"] %>
|
137
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
138
|
+
<% end %>
|
116
139
|
|
140
|
+
<% end %>
|
117
141
|
<% end %>
|
118
142
|
|
119
143
|
|
120
|
-
|
121
|
-
|
122
|
-
<% for entry in @data.dig("writing") %>
|
123
|
-
<%= entry["title"]
|
144
|
+
<% if @data.dig("writing") %>
|
145
|
+
Writing
|
146
|
+
<% for entry in @data.dig("writing") %>
|
147
|
+
<%= entry["title"] %>, <%= entry["url"] %>
|
124
148
|
|
125
149
|
<%= entry["category"] %>, <%= entry["publisher"] %> | <%= entry["date"] %>
|
126
150
|
|
127
151
|
<%= entry["summary"] %>
|
128
152
|
|
129
|
-
|
153
|
+
<% if entry["keywords"] %>
|
154
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
155
|
+
<% end %>
|
130
156
|
|
157
|
+
<% end %>
|
131
158
|
<% end %>
|
132
159
|
|
133
160
|
|
134
|
-
|
135
|
-
|
136
|
-
<% for entry in @data.dig("reading") %>
|
137
|
-
<%= entry["title"]
|
161
|
+
<% if @data.dig("reading") %>
|
162
|
+
Reading
|
163
|
+
<% for entry in @data.dig("reading") %>
|
164
|
+
<%= entry["title"] %>, <%= entry["url"] %>
|
138
165
|
|
139
166
|
<%= entry["category"] %>, <%= entry["author"] %> | <%= entry["date"] %>
|
140
167
|
|
141
168
|
<%= entry["summary"] %>
|
142
169
|
|
143
|
-
|
170
|
+
<% if entry["keywords"] %>
|
171
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
172
|
+
<% end %>
|
144
173
|
|
174
|
+
<% end %>
|
145
175
|
<% end %>
|
146
176
|
|
147
177
|
|
148
|
-
|
149
|
-
|
150
|
-
<% for entry in @data.dig("speaking") %>
|
151
|
-
<%= entry["title"]
|
178
|
+
<% if @data.dig("speaking") %>
|
179
|
+
Speaking
|
180
|
+
<% for entry in @data.dig("speaking") %>
|
181
|
+
<%= entry["title"] %>, <%= entry["url"] %>
|
152
182
|
|
153
183
|
<%= entry["event"] %>, <%= entry["location"] %> | <%= entry["date"] %>
|
154
184
|
|
155
185
|
<%= entry["summary"] %>
|
156
186
|
|
157
|
-
|
187
|
+
<% if entry["keywords"] %>
|
188
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
189
|
+
<% end %>
|
158
190
|
|
191
|
+
<% end %>
|
159
192
|
<% end %>
|
160
193
|
|
161
194
|
|
162
|
-
|
163
|
-
|
164
|
-
<% for patent in @data.dig("patents") %>
|
165
|
-
<%= patent["title"]
|
195
|
+
<% if @data.dig("patents") %>
|
196
|
+
Patents
|
197
|
+
<% for patent in @data.dig("patents") %>
|
198
|
+
<%= patent["title"] %>, <%= patent["url"] %>
|
166
199
|
|
167
200
|
<%= patent["number"] %>, <%= patent["status"] %> | <%= patent["date"] %>
|
168
201
|
|
169
202
|
<%= patent["summary"] %>
|
170
203
|
|
171
|
-
|
204
|
+
<% if patent["keywords"] %>
|
205
|
+
Keywords: <%= patent["keywords"].join(", ") %>
|
206
|
+
<% end %>
|
172
207
|
|
208
|
+
<% end %>
|
173
209
|
<% end %>
|
174
210
|
|
175
211
|
|
176
|
-
|
177
|
-
|
178
|
-
<% for language in @data.dig("languages") %>
|
179
|
-
- <%= language["language"] %>, <%= language["level"] %> (<%= language["years"] %> years)
|
212
|
+
<% if @data.dig("languages") %>
|
213
|
+
Languages
|
214
|
+
<% for language in @data.dig("languages") %>
|
215
|
+
- <%= language["language"] %>, <%= language["level"] %> (<%= language["years"] %> years)
|
216
|
+
<% end %>
|
180
217
|
<% end %>
|
181
218
|
|
182
219
|
|
183
|
-
|
184
|
-
|
185
|
-
<% for interest in @data.dig("interests") %>
|
186
|
-
<%= interest["name"] %>
|
220
|
+
<% if @data.dig("interests") %>
|
221
|
+
Interest
|
222
|
+
<% for interest in @data.dig("interests") %>
|
223
|
+
<%= interest["name"] %>
|
187
224
|
<%= interest["summary"] %>
|
188
225
|
|
226
|
+
<% end %>
|
189
227
|
<% end %>
|
190
228
|
|
191
229
|
|
192
|
-
|
230
|
+
<% if @data.dig("extracurricular") %>
|
231
|
+
Extracurricular
|
232
|
+
<% for entry in @data.dig("extracurricular") %>
|
193
233
|
|
194
|
-
|
195
|
-
|
196
|
-
<%= entry["title"] %> (<%= entry["url"] %>)
|
234
|
+
<%= entry["title"] %>, <%= entry["url"] %>
|
197
235
|
|
198
236
|
<%= entry["category"] %>, <%= entry["location"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
|
199
237
|
|
200
238
|
<%= entry["summary"] %>
|
201
239
|
|
202
|
-
|
203
|
-
|
240
|
+
<% if entry["keywords"] %>
|
241
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
242
|
+
<% end %>
|
204
243
|
|
244
|
+
<% end %>
|
245
|
+
<% end %>
|
205
246
|
|
206
|
-
AFFILIATION
|
207
247
|
|
208
|
-
<%
|
248
|
+
<% if @data.dig("affiliation") %>
|
249
|
+
Affiliation
|
250
|
+
<% for entry in @data.dig("affiliation") %>
|
209
251
|
|
210
|
-
<%= entry["organization"]
|
252
|
+
<%= entry["organization"] %>, <%= entry["url"] %>
|
211
253
|
|
212
254
|
<%= entry["category"] %>, <%= entry["location"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
|
213
255
|
|
214
256
|
<%= entry["summary"] %>
|
215
257
|
|
216
|
-
|
217
|
-
|
258
|
+
<% if entry["keywords"] %>
|
259
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
260
|
+
<% end %>
|
218
261
|
|
262
|
+
<% end %>
|
263
|
+
<% end %>
|
219
264
|
|
220
|
-
GOVERNANCE
|
221
265
|
|
222
|
-
<%
|
266
|
+
<% if @data.dig("governance") %>
|
267
|
+
Governance
|
268
|
+
<% for entry in @data.dig("governance") %>
|
223
269
|
|
224
|
-
<%= entry["organization"]
|
270
|
+
<%= entry["organization"] %>, <%= entry["url"] %>
|
225
271
|
|
226
272
|
<%= entry["summary"] %>
|
227
273
|
|
228
274
|
<%= entry["category"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
|
229
275
|
|
230
|
-
|
231
|
-
|
276
|
+
<% if entry["keywords"] %>
|
277
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
278
|
+
<% end %>
|
232
279
|
|
280
|
+
<% end %>
|
281
|
+
<% end %>
|
233
282
|
|
234
|
-
SERVICE
|
235
283
|
|
236
|
-
<%
|
284
|
+
<% if @data.dig("service") %>
|
285
|
+
Service
|
286
|
+
<% for entry in @data.dig("service") %>
|
237
287
|
|
238
|
-
<%= entry["organization"]
|
288
|
+
<%= entry["organization"] %>, <%= entry["url"] %>
|
239
289
|
|
240
290
|
<%= entry["category"] %>, <%= entry["location"] %> | <%= entry["startDate"] %> - <%= entry["endDate"] %>
|
241
291
|
|
242
292
|
<%= entry["summary"] %>
|
243
293
|
|
244
|
-
|
245
|
-
|
294
|
+
<% if entry["keywords"] %>
|
295
|
+
Keywords: <%= entry["keywords"].join(", ") %>
|
296
|
+
<% end %>
|
246
297
|
|
298
|
+
<% end %>
|
299
|
+
<% end %>
|
247
300
|
|
248
|
-
REFERENCES
|
249
301
|
|
250
|
-
<%
|
302
|
+
<% if @data.dig("references") %>
|
303
|
+
References
|
304
|
+
<% for reference in @data.dig("references") %>
|
251
305
|
|
252
|
-
<%= reference["name"] %>
|
306
|
+
<%= reference["name"] %>
|
253
307
|
<%= reference["role"] %>, <%= reference["company"] %>
|
254
308
|
|
255
309
|
<%= reference["summary"] %>
|
256
310
|
|
311
|
+
<% end %>
|
257
312
|
<% end %>
|
258
|
-
|
@@ -1,5 +1,5 @@
|
|
1
1
|
xml.meta do
|
2
|
-
xml.format "PRTFLIO@
|
2
|
+
xml.format "PRTFLIO@1.1.0"
|
3
3
|
xml.version "0.0.1"
|
4
4
|
end
|
5
5
|
|
@@ -15,208 +15,270 @@ xml.basics do
|
|
15
15
|
xml.phone @data.dig("basics", "contact", "phone")
|
16
16
|
xml.website @data.dig("basics", "contact", "website")
|
17
17
|
xml.location @data.dig("basics", "contact", "location")
|
18
|
-
|
19
|
-
xml.
|
20
|
-
|
21
|
-
|
18
|
+
if @data.dig("basics", "contact", "social")
|
19
|
+
xml.social do
|
20
|
+
@data.dig("basics", "contact", "social").each do |social|
|
21
|
+
xml.network social["network"]
|
22
|
+
xml.user social["user"]
|
23
|
+
xml.url social["url"]
|
24
|
+
end
|
25
|
+
end
|
22
26
|
end
|
23
27
|
end
|
24
|
-
end
|
28
|
+
end
|
25
29
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
if @data.dig("employment")
|
31
|
+
xml.employment do
|
32
|
+
@data.dig("employment").each do |job|
|
33
|
+
xml.employer job["employer"]
|
34
|
+
xml.position job["position"]
|
35
|
+
xml.url job["url"]
|
36
|
+
xml.startDate job["startDate"]
|
37
|
+
xml.endDate job["endDate"]
|
38
|
+
xml.summary job["summary"]
|
39
|
+
xml.location job["location"]
|
40
|
+
xml.keywords job["keywords"]
|
41
|
+
end
|
35
42
|
end
|
36
43
|
end
|
37
44
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
45
|
+
if @data.dig("education")
|
46
|
+
xml.education do
|
47
|
+
@data.dig("education").each do |entry|
|
48
|
+
xml.institution entry["institution"]
|
49
|
+
xml.fieldOfStudy entry["fieldOfStudy"]
|
50
|
+
xml.degree entry["degree"]
|
51
|
+
xml.startDate entry["startDate"]
|
52
|
+
xml.endDate entry["endDate"]
|
53
|
+
xml.grade entry["grade"]
|
54
|
+
xml.url entry["url"]
|
55
|
+
xml.summary entry["summary"]
|
56
|
+
xml.location entry["location"]
|
57
|
+
xml.keywords entry["keywords"]
|
58
|
+
end
|
49
59
|
end
|
50
60
|
end
|
51
61
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
xml.
|
62
|
-
|
62
|
+
if @data.dig("projects")
|
63
|
+
xml.projects do
|
64
|
+
@data.dig("projects").each do |project|
|
65
|
+
xml.title project["title"]
|
66
|
+
xml.summary project["summary"]
|
67
|
+
xml.url project["url"]
|
68
|
+
xml.repo project["repo"]
|
69
|
+
xml.startDate project["startDate"]
|
70
|
+
xml.endDate project["endDate"]
|
71
|
+
xml.category project["category"]
|
72
|
+
if project.dig("images")
|
73
|
+
xml.images do
|
74
|
+
project.dig("images").each do |image|
|
75
|
+
xml.thumbnail image["thumbnail"]
|
76
|
+
xml.big image["big"]
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
xml.keywords project["keywords"]
|
63
81
|
end
|
64
|
-
xml.keywords project["keywords"]
|
65
82
|
end
|
66
83
|
end
|
67
84
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
85
|
+
if @data.dig("openSource")
|
86
|
+
xml.openSource do
|
87
|
+
@data.dig("openSource").each do |project|
|
88
|
+
xml.title project["title"]
|
89
|
+
xml.summary project["summary"]
|
90
|
+
xml.role project["role"]
|
91
|
+
xml.url project["url"]
|
92
|
+
xml.repo project["repo"]
|
93
|
+
xml.startDate project["startDate"]
|
94
|
+
xml.endDate project["endDate"]
|
95
|
+
xml.category project["category"]
|
96
|
+
xml.keywords project["keywords"]
|
97
|
+
end
|
78
98
|
end
|
79
99
|
end
|
80
100
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
101
|
+
if @data.dig("skills")
|
102
|
+
xml.skills do
|
103
|
+
@data.dig("skills").each do |skill|
|
104
|
+
xml.name skill["name"]
|
105
|
+
xml.summary skill["summary"]
|
106
|
+
xml.keywords skill["keywords"]
|
107
|
+
end
|
85
108
|
end
|
86
109
|
end
|
87
110
|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
111
|
+
if @data.dig("qualifications")
|
112
|
+
xml.qualifications do
|
113
|
+
@data.dig("qualifications").each do |qualification|
|
114
|
+
xml.category qualification["category"]
|
115
|
+
xml.title qualification["title"]
|
116
|
+
xml.date qualification["date"]
|
117
|
+
xml.from qualification["from"]
|
118
|
+
xml.summary qualification["summary"]
|
119
|
+
xml.url qualification["url"]
|
120
|
+
xml.keywords qualification["keywords"]
|
121
|
+
end
|
96
122
|
end
|
97
123
|
end
|
98
124
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
125
|
+
if @data.dig("recognition")
|
126
|
+
xml.recognition do
|
127
|
+
@data.dig("recognition").each do |entry|
|
128
|
+
xml.category entry["category"]
|
129
|
+
xml.title entry["title"]
|
130
|
+
xml.date entry["date"]
|
131
|
+
xml.from entry["from"]
|
132
|
+
xml.summary entry["summary"]
|
133
|
+
xml.url entry["url"]
|
134
|
+
xml.keywords entry["keywords"]
|
135
|
+
end
|
107
136
|
end
|
108
137
|
end
|
109
138
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
139
|
+
if @data.dig("writing")
|
140
|
+
xml.writing do
|
141
|
+
@data.dig("writing").each do |entry|
|
142
|
+
xml.title entry["title"]
|
143
|
+
xml.category entry["category"]
|
144
|
+
xml.publisher entry["publisher"]
|
145
|
+
xml.date entry["date"]
|
146
|
+
xml.url entry["url"]
|
147
|
+
xml.summary entry["summary"]
|
148
|
+
xml.keywords entry["keywords"]
|
149
|
+
end
|
118
150
|
end
|
119
151
|
end
|
120
152
|
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
153
|
+
if @data.dig("reading")
|
154
|
+
xml.reading do
|
155
|
+
@data.dig("reading").each do |entry|
|
156
|
+
xml.title entry["title"]
|
157
|
+
xml.category entry["category"]
|
158
|
+
xml.url entry["url"]
|
159
|
+
xml.author entry["author"]
|
160
|
+
xml.date entry["date"]
|
161
|
+
xml.summary entry["summary"]
|
162
|
+
xml.keywords entry["keywords"]
|
163
|
+
end
|
129
164
|
end
|
130
165
|
end
|
131
166
|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
167
|
+
if @data.dig("speaking")
|
168
|
+
xml.speaking do
|
169
|
+
@data.dig("speaking").each do |entry|
|
170
|
+
xml.title entry["title"]
|
171
|
+
xml.event entry["event"]
|
172
|
+
xml.location entry["location"]
|
173
|
+
xml.url entry["url"]
|
174
|
+
xml.date entry["date"]
|
175
|
+
xml.summary entry["summary"]
|
176
|
+
xml.keywords entry["keywords"]
|
177
|
+
end
|
140
178
|
end
|
141
179
|
end
|
142
180
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
181
|
+
if @data.dig("patents")
|
182
|
+
xml.patents do
|
183
|
+
@data.dig("patents").each do |entry|
|
184
|
+
xml.title entry["title"]
|
185
|
+
xml.url entry["url"]
|
186
|
+
xml.number entry["number"]
|
187
|
+
xml.status entry["status"]
|
188
|
+
xml.summary entry["summary"]
|
189
|
+
xml.date entry["date"]
|
190
|
+
xml.keywords entry["keywords"]
|
191
|
+
end
|
151
192
|
end
|
152
193
|
end
|
153
194
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
195
|
+
if @data.dig("languages")
|
196
|
+
xml.languages do
|
197
|
+
@data.dig("languages").each do |language|
|
198
|
+
xml.language language["language"]
|
199
|
+
xml.level language["level"]
|
200
|
+
xml.years language["years"]
|
201
|
+
end
|
158
202
|
end
|
159
203
|
end
|
160
204
|
|
161
|
-
|
162
|
-
|
163
|
-
|
205
|
+
if @data.dig("interests")
|
206
|
+
xml.interests do
|
207
|
+
@data.dig("interests").each do |interest|
|
208
|
+
xml.name interest["name"]
|
209
|
+
xml.summary interest["summary"]
|
210
|
+
end
|
164
211
|
end
|
165
212
|
end
|
166
213
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
214
|
+
if @data.dig("extracurricular")
|
215
|
+
xml.extracurricular do
|
216
|
+
@data.dig("extracurricular").each do |entry|
|
217
|
+
xml.title entry["title"]
|
218
|
+
xml.summary entry["summary"]
|
219
|
+
xml.category entry["category"]
|
220
|
+
xml.url entry["url"]
|
221
|
+
xml.location entry["location"]
|
222
|
+
xml.startDate entry["startDate"]
|
223
|
+
xml.endDate entry["endDate"]
|
224
|
+
xml.keywords entry["keywords"]
|
225
|
+
end
|
176
226
|
end
|
177
227
|
end
|
178
228
|
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
229
|
+
if @data.dig("affiliation")
|
230
|
+
xml.affiliation do
|
231
|
+
@data.dig("affiliation").each do |entry|
|
232
|
+
xml.category entry["category"]
|
233
|
+
xml.organization entry["organization"]
|
234
|
+
xml.role entry["role"]
|
235
|
+
xml.url entry["url"]
|
236
|
+
xml.startDate entry["startDate"]
|
237
|
+
xml.endDate entry["endDate"]
|
238
|
+
xml.summary entry["summary"]
|
239
|
+
xml.location entry["location"]
|
240
|
+
xml.keywords entry["keywords"]
|
241
|
+
end
|
189
242
|
end
|
190
243
|
end
|
191
244
|
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
245
|
+
if @data.dig("governance")
|
246
|
+
xml.governance do
|
247
|
+
@data.dig("governance").each do |entry|
|
248
|
+
xml.summary entry["summary"]
|
249
|
+
xml.category entry["category"]
|
250
|
+
xml.url entry["url"]
|
251
|
+
xml.role entry["role"]
|
252
|
+
xml.organization entry["organization"]
|
253
|
+
xml.startDate entry["startDate"]
|
254
|
+
xml.endDate entry["endDate"]
|
255
|
+
xml.keywords entry["keywords"]
|
256
|
+
end
|
201
257
|
end
|
202
258
|
end
|
203
259
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
260
|
+
if @data.dig("service")
|
261
|
+
xml.service do
|
262
|
+
@data.dig("service").each do |entry|
|
263
|
+
xml.category entry["category"]
|
264
|
+
xml.organization entry["organization"]
|
265
|
+
xml.url entry["url"]
|
266
|
+
xml.startDate entry["startDate"]
|
267
|
+
xml.endDate entry["endDate"]
|
268
|
+
xml.summary entry["summary"]
|
269
|
+
xml.location entry["location"]
|
270
|
+
xml.keywords entry["keywords"]
|
271
|
+
end
|
213
272
|
end
|
214
273
|
end
|
215
274
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
275
|
+
if @data.dig("references")
|
276
|
+
xml.references do
|
277
|
+
@data.dig("references").each do |reference|
|
278
|
+
xml.name reference["name"]
|
279
|
+
xml.role reference["role"]
|
280
|
+
xml.company reference["company"]
|
281
|
+
xml.summary reference["summary"]
|
282
|
+
end
|
221
283
|
end
|
222
284
|
end
|