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