Module: ResumeStylist::JSONResume
- Defined in:
- lib/resume-stylist/resume/json.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.date_helper(d) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/resume-stylist/resume/json.rb', line 4 def self.date_helper(d) return unless d date ||= (Date.strptime(d, '%Y-%m-%d') rescue nil) date ||= (Date.strptime(d, '%Y-%m') rescue nil) date ||= (Date.strptime(d, '%Y') rescue nil) return date end |
.downcase_keys_helper(h) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/resume-stylist/resume/json.rb', line 14 def self.downcase_keys_helper(h) case h when Hash h = h.dup h.keys.each do |key| new_key = key.downcase val = h.delete(key) h[new_key] = downcase_keys_helper(val) end when Array return h.map {|e| downcase_keys_helper(e) } end return h end |
.handles?(resume_format) ⇒ Boolean
30 31 32 |
# File 'lib/resume-stylist/resume/json.rb', line 30 def self.handles?(resume_format) resume_format.to_s.downcase == "json" end |
Instance Method Details
#load!(input) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/resume-stylist/resume/json.rb', line 34 def load!(input) data = Yajl::Parser.parse(input) # Fix dates, since they're just strings now [ data["work"], data["volunteer"], data["education"] ].each do |set| set.each do |e| e["startDate"] = JSONResume.date_helper(e["startDate"]) e["endDate"] = JSONResume.date_helper(e["endDate"]) end end data["publications"].each {|e| e["releaseDate"] = JSONResume.date_helper(e["releaseDate"]) } data["awards"].each {|e| e["date"] = JSONResume.date_helper(e["date"]) } @data = JSONResume.downcase_keys_helper(data) end |