resume_exporter 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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