class GradeRunner::Runner
Public Class Methods
new(submission_root_url, grades_access_token, rspec_output_json, username, reponame, sha, source)
click to toggle source
# File lib/grade_runner/runner.rb, line 5 def initialize(submission_root_url, grades_access_token, rspec_output_json, username, reponame, sha, source) @submission_url = submission_root_url + submission_path @grades_access_token = grades_access_token @rspec_output_json = rspec_output_json @username = username @reponame = reponame @sha = sha @source = source end
Public Instance Methods
process()
click to toggle source
# File lib/grade_runner/runner.rb, line 15 def process puts "* Submitting the results." post_to_grades end
Private Instance Methods
data()
click to toggle source
# File lib/grade_runner/runner.rb, line 38 def data { access_token: @grades_access_token, test_output: @rspec_output_json, commit_sha: @sha, username: @username, reponame: @reponame, source: @source } end
post_to_grades()
click to toggle source
# File lib/grade_runner/runner.rb, line 22 def post_to_grades puts "- Posting to URL: " + "#{@submission_url}" uri = URI.parse(@submission_url) req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json') req.body = data.to_json res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(req) end results_url = JSON.parse(res.body)["url"] puts "- Done! Results URL: " + "#{results_url}" end
submission_path()
click to toggle source
# File lib/grade_runner/runner.rb, line 34 def submission_path "/builds" end