lib/vimgolf/challenge.rb in vimgolf-0.4.3 vs lib/vimgolf/challenge.rb in vimgolf-0.4.4

- old
+ new

@@ -11,28 +11,31 @@ @id = id end def download begin - url = URI.parse("#{GOLFHOST}/challenges/#{@id}.yaml") + url = URI.parse("#{GOLFHOST}/challenges/#{@id}.json") req = Net::HTTP::Get.new(url.path) proxy_url, proxy_user, proxy_pass = get_proxy proxy = Net::HTTP::Proxy(proxy_url.host, proxy_url.port, proxy_user, proxy_pass) res = proxy.start(url.host, url.port) { |http| http.request(req) } - @data = YAML.load(res.body) + @data = JSON.parse(res.body) if !@data.is_a? Hash raise elsif @data['client'] != Vimgolf::VERSION VimGolf.ui.error "Client version mismatch. Installed: #{Vimgolf::VERSION}, Required: #{@data['client']}." VimGolf.ui.error "\t gem install vimgolf" raise "Bad Version" end + @data['in']['data'].gsub!(/\r\n/, "\n") + @data['out']['data'].gsub!(/\r\n/, "\n") + @type = @data['in']['type'] save start rescue Exception => e debug(e) @@ -50,21 +53,21 @@ File.open(vimrc_path, "w") {|f| f.puts @data['vimrc']} end def upload begin - url = URI.parse("#{GOLFHOST}/entry.yaml") + url = URI.parse("#{GOLFHOST}/entry.json") proxy_url, proxy_user, proxy_pass = get_proxy proxy = Net::HTTP::Proxy(proxy_url.host, proxy_url.port, proxy_user, proxy_pass) proxy.start(url.host, url.port) do |http| request = Net::HTTP::Post.new(url.request_uri) request.set_form_data({"challenge_id" => @id, "apikey" => Config.load['key'], "entry" => IO.read(log_path)}) - request["Accept"] = "text/yaml" + request["Accept"] = "application/json" res = http.request(request) - res = YAML.load(res.body) + res = JSON.parse(res.body) raise if !res.is_a? Hash res['status'].to_sym end