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