module ResumeStylist::JSONResume
Public Class Methods
date_helper(d)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/resume-stylist/resume/json.rb, line 30 def self.handles?(resume_format) resume_format.to_s.downcase == "json" end
Public Instance Methods
load!(input)
click to toggle source
# 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