class Jekyll_Xml_Source::Generator
Public Instance Methods
generate(site)
click to toggle source
# File jekyll_xml_source.rb, line 35 def generate(site) config = site.config['jekyll_xml'] data_source = (site.config['data_source'] || '_data') if !config return end config.each do |data| if data['cache'] site.data[data['data']] = loadFromCache(data_source, data['data']) end if site.data[data['data']].nil? begin result = Net::HTTP.get_response(URI.parse(data['source'])).body site.data[data['data']] = JSON.load(Hash.from_xml(result).to_json) rescue next end if data['cache'] saveToCache(data_source, data['data'], Hash.from_xml(result).to_json) end end end end
loadFromCache(data_source, name)
click to toggle source
# File jekyll_xml_source.rb, line 25 def loadFromCache(data_source, name) path = "#{data_source}/#{name}.json" if not File.exist?(path) return end File.open(path,"r") do |file| return JSON.load(file.read()) end end
saveToCache(data_source, name, content)
click to toggle source
# File jekyll_xml_source.rb, line 18 def saveToCache(data_source, name, content) path = "#{data_source}/#{name}.json" File.open(path,"w") do |file| file.write(content) end end