resume_exporter 0.0.1 → 1.0.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/bin/resume_exporter +4 -2
  3. data/lib/exporters/html.rb +33 -0
  4. data/lib/exporters/pdf.rb +13 -0
  5. data/lib/extractors/html/linkedin.rb +145 -169
  6. data/lib/extractors/html/stackoverflow.rb +60 -72
  7. data/lib/extractors/html/xing.rb +46 -60
  8. data/lib/extractors/html.rb +1 -1
  9. data/lib/extractors/json/fresh.rb +196 -233
  10. data/lib/extractors/json/json_resume.rb +107 -127
  11. data/lib/extractors/json/prtflio.rb +20 -24
  12. data/lib/extractors/json.rb +7 -6
  13. data/lib/resume_exporter.rb +6 -0
  14. data/lib/templates/default.json.jbuilder +162 -229
  15. data/lib/templates/default.md.erb +99 -244
  16. data/lib/templates/default.txt.erb +99 -224
  17. data/lib/templates/default.xml.builder +162 -227
  18. data/lib/templates/fresh.json.jbuilder +149 -155
  19. data/lib/templates/html/_affiliation.liquid +53 -0
  20. data/lib/templates/html/_basics.liquid +19 -0
  21. data/lib/templates/html/_contact.liquid +27 -0
  22. data/lib/templates/html/_css.liquid +324 -0
  23. data/lib/templates/html/_disposition.liquid +13 -0
  24. data/lib/templates/html/_education.liquid +56 -0
  25. data/lib/templates/html/_employment.liquid +67 -0
  26. data/lib/templates/html/_extracurricular.liquid +53 -0
  27. data/lib/templates/html/_footer.liquid +1 -0
  28. data/lib/templates/html/_governance.liquid +52 -0
  29. data/lib/templates/html/_image.liquid +7 -0
  30. data/lib/templates/html/_interests.liquid +23 -0
  31. data/lib/templates/html/_languages.liquid +22 -0
  32. data/lib/templates/html/_open_source.liquid +53 -0
  33. data/lib/templates/html/_patents.liquid +50 -0
  34. data/lib/templates/html/_projects.liquid +53 -0
  35. data/lib/templates/html/_qualifications.liquid +53 -0
  36. data/lib/templates/html/_reading.liquid +52 -0
  37. data/lib/templates/html/_recognition.liquid +54 -0
  38. data/lib/templates/html/_references.liquid +28 -0
  39. data/lib/templates/html/_resume.liquid +49 -0
  40. data/lib/templates/html/_service.liquid +53 -0
  41. data/lib/templates/html/_skills.liquid +35 -0
  42. data/lib/templates/html/_social.liquid +25 -0
  43. data/lib/templates/html/_speaking.liquid +53 -0
  44. data/lib/templates/html/_writing.liquid +52 -0
  45. data/lib/templates/html/default.liquid +1 -0
  46. data/lib/templates/json_resume.json.jbuilder +72 -72
  47. metadata +119 -20
@@ -5,283 +5,218 @@ end
5
5
 
6
6
 
7
7
  xml.basics do
8
- xml.name @data.dig(:basics, :name)
9
- xml.label @data.dig(:basics, :label)
10
- xml.image @data.dig(:basics, :image)
11
- xml.summary @data.dig(:basics, :summary)
8
+ xml.name @data.dig("basics", "name")
9
+ xml.label @data.dig("basics", "label")
10
+ xml.image @data.dig("basics", "image")
11
+ xml.summary @data.dig("basics", "summary")
12
+ xml.disposition @data.dig("basics", "disposition")
12
13
  xml.contact do
13
- xml.email @data.dig(:basics, :contact, :email)
14
- xml.phone @data.dig(:basics, :contact, :phone)
15
- xml.website @data.dig(:basics, :contact, :website)
16
- xml.location @data.dig(:basics, :contact, :location)
17
- xml.social @data.dig(:basics, :contact, :social) do |social|
18
- xml.network social[:network]
19
- xml.user social[:user]
20
- xml.url social[:url]
14
+ xml.email @data.dig("basics", "contact", "email")
15
+ xml.phone @data.dig("basics", "contact", "phone")
16
+ xml.website @data.dig("basics", "contact", "website")
17
+ xml.location @data.dig("basics", "contact", "location")
18
+ xml.social @data.dig("basics", "contact", "social") do |social|
19
+ xml.network social["network"]
20
+ xml.user social["user"]
21
+ xml.url social["url"]
21
22
  end
22
23
  end
23
24
  end
24
25
 
25
- xml.employment do
26
- xml.summary @data.dig(:employment, :summary)
27
- xml.history @data.dig(:employment, :history) do |job|
28
- xml.employer job[:employer]
29
- xml.position job[:position]
30
- xml.url job[:url]
31
- xml.startDate job[:startDate]
32
- xml.endDate job[:endDate]
33
- xml.summary job[:summary]
34
- xml.location job[:location]
35
- xml.highlights job[:highlights]
36
- xml.keywords job[:keywords]
37
- end
38
- end
39
-
40
- xml.education do
41
- xml.summary @data.dig(:education, :summary)
42
- xml.history @data.dig(:education, :history) do |entry|
43
- xml.institution entry[:institution]
44
- xml.fieldOfStudy entry[:fieldOfStudy]
45
- xml.degree entry[:degree]
46
- xml.startDate entry[:startDate]
47
- xml.endDate entry[:endDate]
48
- xml.grade entry[:grade]
49
- xml.url entry[:url]
50
- xml.summary entry[:summary]
51
- xml.location entry[:location]
52
- xml.curriculum entry[:curriculum]
53
- xml.highlights entry[:highlights]
54
- xml.keywords entry[:keywords]
55
- end
56
- end
57
-
58
- xml.projects do
59
- xml.summary @data.dig(:projects, :summary)
60
- xml.history @data.dig(:projects, :history) do |project|
61
- xml.title project[:title]
62
- xml.description project[:description]
63
- xml.url project[:url]
64
- xml.repo project[:repo]
65
- xml.startDate project[:startDate]
66
- xml.endDate project[:endDate]
67
- xml.category project[:category]
68
- xml.images project[:images] do |image|
69
- xml.thumbnail image[:thumbnail]
70
- xml.big image[:big]
26
+ xml.employment @data.dig("employment") do |job|
27
+ xml.employer job["employer"]
28
+ xml.position job["position"]
29
+ xml.url job["url"]
30
+ xml.startDate job["startDate"]
31
+ xml.endDate job["endDate"]
32
+ xml.summary job["summary"]
33
+ xml.location job["location"]
34
+ xml.keywords job["keywords"]
35
+ end
36
+ end
37
+
38
+ xml.education @data.dig("education") do |entry|
39
+ xml.institution entry["institution"]
40
+ xml.fieldOfStudy entry["fieldOfStudy"]
41
+ xml.degree entry["degree"]
42
+ xml.startDate entry["startDate"]
43
+ xml.endDate entry["endDate"]
44
+ xml.grade entry["grade"]
45
+ xml.url entry["url"]
46
+ xml.summary entry["summary"]
47
+ xml.location entry["location"]
48
+ xml.keywords entry["keywords"]
49
+ end
50
+ end
51
+
52
+ xml.projects @data.dig("projects") do |project|
53
+ xml.title project["title"]
54
+ xml.summary project["summary"]
55
+ xml.url project["url"]
56
+ xml.repo project["repo"]
57
+ xml.startDate project["startDate"]
58
+ xml.endDate project["endDate"]
59
+ xml.category project["category"]
60
+ xml.images project["images"] do |image|
61
+ xml.thumbnail image["thumbnail"]
62
+ xml.big image["big"]
71
63
  end
72
- xml.roles project[:roles]
73
- xml.highlights project[:highlights]
74
- xml.keywords project[:keywords]
75
- end
76
- end
77
-
78
- xml.openSource do
79
- xml.summary @data.dig(:openSource, :summary)
80
- xml.history @data.dig(:openSource, :history) do |project|
81
- xml.title project[:title]
82
- xml.description project[:description]
83
- xml.role project[:role]
84
- xml.url project[:url]
85
- xml.repo project[:repo]
86
- xml.startDate project[:startDate]
87
- xml.endDate project[:endDate]
88
- xml.category project[:category]
89
- xml.roles project[:roles]
90
- xml.highlights project[:highlights]
91
- xml.keywords project[:keywords]
64
+ xml.keywords project["keywords"]
92
65
  end
93
66
  end
94
67
 
95
- xml.skills do
96
- xml.summary @data.dig(:skills, :summary)
97
- xml.sets @data.dig(:skills, :sets) do |skill|
98
- xml.name skill[:name]
99
- xml.description skill[:description]
100
- xml.keywords skill[:keywords]
68
+ xml.openSource @data.dig("openSource") do |project|
69
+ xml.title project["title"]
70
+ xml.summary project["summary"]
71
+ xml.role project["role"]
72
+ xml.url project["url"]
73
+ xml.repo project["repo"]
74
+ xml.startDate project["startDate"]
75
+ xml.endDate project["endDate"]
76
+ xml.category project["category"]
77
+ xml.keywords project["keywords"]
101
78
  end
102
79
  end
103
80
 
104
- xml.qualifications do
105
- xml.summary @data.dig(:qualifications, :summary)
106
- xml.history @data.dig(:qualifications, :history) do |qualification|
107
- xml.category qualification[:category]
108
- xml.title qualification[:title]
109
- xml.date qualification[:date]
110
- xml.from qualification[:from]
111
- xml.summary qualification[:summary]
112
- xml.url qualification[:url]
113
- xml.highlights qualification[:highlights]
114
- xml.keywords qualification[:keywords]
81
+ xml.skills @data.dig("skills") do |skill|
82
+ xml.name skill["name"]
83
+ xml.summary skill["summary"]
84
+ xml.keywords skill["keywords"]
115
85
  end
116
86
  end
117
87
 
118
- xml.recognition do
119
- xml.summary @data.dig(:recognition, :summary)
120
- xml.history @data.dig(:recognition, :history) do |entry|
121
- xml.category entry[:category]
122
- xml.title entry[:title]
123
- xml.date entry[:date]
124
- xml.from entry[:from]
125
- xml.summary entry[:summary]
126
- xml.url entry[:url]
127
- xml.highlights entry[:highlights]
128
- xml.keywords entry[:keywords]
88
+ xml.qualifications @data.dig("qualifications") do |qualification|
89
+ xml.category qualification["category"]
90
+ xml.title qualification["title"]
91
+ xml.date qualification["date"]
92
+ xml.from qualification["from"]
93
+ xml.summary qualification["summary"]
94
+ xml.url qualification["url"]
95
+ xml.keywords qualification["keywords"]
129
96
  end
130
97
  end
131
98
 
132
- xml.writing do
133
- xml.summary @data.dig(:writing, :summary)
134
- xml.history @data.dig(:writing, :history) do |entry|
135
- xml.title entry[:title]
136
- xml.category entry[:category]
137
- xml.publisher entry[:publisher]
138
- xml.date entry[:date]
139
- xml.url entry[:url]
140
- xml.summary entry[:summary]
141
- xml.highlights entry[:highlights]
142
- xml.keywords entry[:keywords]
99
+ xml.recognition @data.dig("recognition") do |entry|
100
+ xml.category entry["category"]
101
+ xml.title entry["title"]
102
+ xml.date entry["date"]
103
+ xml.from entry["from"]
104
+ xml.summary entry["summary"]
105
+ xml.url entry["url"]
106
+ xml.keywords entry["keywords"]
143
107
  end
144
108
  end
145
109
 
146
- xml.reading do
147
- xml.summary @data.dig(:reading, :summary)
148
- xml.history @data.dig(:reading, :history) do |entry|
149
- xml.title entry[:title]
150
- xml.category entry[:category]
151
- xml.url entry[:url]
152
- xml.author entry[:author]
153
- xml.date entry[:date]
154
- xml.summary entry[:summary]
155
- xml.highlights entry[:highlights]
156
- xml.keywords entry[:keywords]
110
+ xml.writing @data.dig("writing") do |entry|
111
+ xml.title entry["title"]
112
+ xml.category entry["category"]
113
+ xml.publisher entry["publisher"]
114
+ xml.date entry["date"]
115
+ xml.url entry["url"]
116
+ xml.summary entry["summary"]
117
+ xml.keywords entry["keywords"]
157
118
  end
158
119
  end
159
120
 
160
- xml.speaking do
161
- xml.summary @data.dig(:speaking, :summary)
162
- xml.history @data.dig(:speaking, :history) do |entry|
163
- xml.title entry[:title]
164
- xml.event entry[:event]
165
- xml.location entry[:location]
166
- xml.url entry[:url]
167
- xml.date entry[:date]
168
- xml.summary entry[:summary]
169
- xml.highlights entry[:highlights]
170
- xml.keywords entry[:keywords]
121
+ xml.reading @data.dig("reading") do |entry|
122
+ xml.title entry["title"]
123
+ xml.category entry["category"]
124
+ xml.url entry["url"]
125
+ xml.author entry["author"]
126
+ xml.date entry["date"]
127
+ xml.summary entry["summary"]
128
+ xml.keywords entry["keywords"]
171
129
  end
172
130
  end
173
131
 
174
- xml.patents do
175
- xml.summary @data.dig(:patents, :summary)
176
- xml.history @data.dig(:patents, :history) do |patent|
177
- xml.title entry[:title]
178
- xml.url entry[:url]
179
- xml.number entry[:number]
180
- xml.status entry[:status]
181
- xml.description entry[:description]
182
- xml.date entry[:date]
183
- xml.highlights entry[:highlights]
184
- xml.keywords entry[:keywords]
132
+ xml.speaking @data.dig("speaking") do |entry|
133
+ xml.title entry["title"]
134
+ xml.event entry["event"]
135
+ xml.location entry["location"]
136
+ xml.url entry["url"]
137
+ xml.date entry["date"]
138
+ xml.summary entry["summary"]
139
+ xml.keywords entry["keywords"]
185
140
  end
186
141
  end
187
142
 
188
- xml.languages do
189
- xml.summary @data.dig(:languages, :summary)
190
- xml.list @data.dig(:languages, :list) do |language|
191
- xml.language language[:language]
192
- xml.level language[:level]
193
- xml.years language[:years]
143
+ xml.patents @data.dig("patents") do |patent|
144
+ xml.title entry["title"]
145
+ xml.url entry["url"]
146
+ xml.number entry["number"]
147
+ xml.status entry["status"]
148
+ xml.summary entry["summary"]
149
+ xml.date entry["date"]
150
+ xml.keywords entry["keywords"]
194
151
  end
195
152
  end
196
153
 
197
- xml.interests do
198
- xml.summary @data.dig(:interests, :summary)
199
- xml.list @data.dig(:interests, :list) do |interest|
200
- xml.name interest[:name]
201
- xml.description interest[:description]
154
+ xml.languages @data.dig("languages") do |language|
155
+ xml.language language["language"]
156
+ xml.level language["level"]
157
+ xml.years language["years"]
202
158
  end
203
159
  end
204
160
 
205
- xml.extracurriculars do
206
- xml.summary @data.dig(:extracurriculars, :summary)
207
- xml.history @data.dig(:extracurriculars, :history) do |entry|
208
- xml.title entry[:title]
209
- xml.summary entry[:summary]
210
- xml.category entry[:category]
211
- xml.url entry[:url]
212
- xml.location entry[:location]
213
- xml.startDate entry[:startDate]
214
- xml.endDate entry[:endDate]
215
- xml.highlights entry[:highlights]
216
- xml.keywords entry[:keywords]
161
+ xml.interests @data.dig("interests") do |interest|
162
+ xml.name interest["name"]
163
+ xml.summary interest["summary"]
217
164
  end
218
165
  end
219
166
 
220
- xml.affiliations do
221
- xml.summary @data.dig(:affiliations, :summary)
222
- xml.history @data.dig(:affiliations, :history) do |entry|
223
- xml.category entry[:category]
224
- xml.organization entry[:organization]
225
- xml.role entry[:role]
226
- xml.url entry[:url]
227
- xml.startDate entry[:startDate]
228
- xml.endDate entry[:endDate]
229
- xml.summary entry[:summary]
230
- xml.location entry[:location]
231
- xml.highlights entry[:highlights]
232
- xml.keywords entry[:keywords]
167
+ xml.extracurriculars @data.dig("extracurriculars") do |entry|
168
+ xml.title entry["title"]
169
+ xml.summary entry["summary"]
170
+ xml.category entry["category"]
171
+ xml.url entry["url"]
172
+ xml.location entry["location"]
173
+ xml.startDate entry["startDate"]
174
+ xml.endDate entry["endDate"]
175
+ xml.keywords entry["keywords"]
233
176
  end
234
177
  end
235
178
 
236
- xml.governance do
237
- xml.summary @data.dig(:governance, :summary)
238
- xml.history @data.dig(:governance, :history) do |entry|
239
- xml.summary entry[:summary]
240
- xml.category entry[:category]
241
- xml.url entry[:url]
242
- xml.role entry[:role]
243
- xml.organization entry[:organization]
244
- xml.startDate entry[:startDate]
245
- xml.endDate entry[:endDate]
246
- xml.keywords entry[:keywords]
247
- xml.highlights entry[:highlights]
179
+ xml.affiliations @data.dig("affiliations") do |entry|
180
+ xml.category entry["category"]
181
+ xml.organization entry["organization"]
182
+ xml.role entry["role"]
183
+ xml.url entry["url"]
184
+ xml.startDate entry["startDate"]
185
+ xml.endDate entry["endDate"]
186
+ xml.summary entry["summary"]
187
+ xml.location entry["location"]
188
+ xml.keywords entry["keywords"]
248
189
  end
249
190
  end
250
191
 
251
- xml.service do
252
- xml.summary @data.dig(:service, :summary)
253
- xml.history @data.dig(:service, :history) do |entry|
254
- xml.category entry[:category]
255
- xml.organization entry[:organization]
256
- xml.roles entry[:roles]
257
- xml.url entry[:url]
258
- xml.startDate entry[:startDate]
259
- xml.endDate entry[:endDate]
260
- xml.summary entry[:summary]
261
- xml.location entry[:location]
262
- xml.highlights entry[:highlights]
263
- xml.keywords entry[:keywords]
192
+ xml.governance @data.dig("governance") do |entry|
193
+ xml.summary entry["summary"]
194
+ xml.category entry["category"]
195
+ xml.url entry["url"]
196
+ xml.role entry["role"]
197
+ xml.organization entry["organization"]
198
+ xml.startDate entry["startDate"]
199
+ xml.endDate entry["endDate"]
200
+ xml.keywords entry["keywords"]
264
201
  end
265
202
  end
266
203
 
267
- xml.references do
268
- xml.summary @data.dig(:references, :summary)
269
- xml.history @data.dig(:references, :history) do |reference|
270
- xml.name reference[:name]
271
- xml.role reference[:role]
272
- xml.company reference[:company]
273
- xml.summary reference[:summary]
204
+ xml.service @data.dig("service") do |entry|
205
+ xml.category entry["category"]
206
+ xml.organization entry["organization"]
207
+ xml.url entry["url"]
208
+ xml.startDate entry["startDate"]
209
+ xml.endDate entry["endDate"]
210
+ xml.summary entry["summary"]
211
+ xml.location entry["location"]
212
+ xml.keywords entry["keywords"]
274
213
  end
275
214
  end
276
215
 
277
- xml.disposition do
278
- xml.summary @data.dig(:disposition, :summary)
279
- xml.travel @data.dig(:disposition, :travel)
280
- xml.authorization @data.dig(:disposition, :authorization)
281
- xml.commitment @data.dig(:disposition, :commitment)
282
- xml.remote @data.dig(:disposition, :remote)
283
- xml.relocation do
284
- xml.willing @data.dig(:disposition, :relocation, :willing)
285
- xml.destinations @data.dig(:disposition, :relocation, :destinations)
216
+ xml.references @data.dig("references") do |reference|
217
+ xml.name reference["name"]
218
+ xml.role reference["role"]
219
+ xml.company reference["company"]
220
+ xml.summary reference["summary"]
286
221
  end
287
222
  end