Method: Exercism::CLI#submit

Defined in:
lib/cli.rb

#submit(file) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/cli.rb', line 61

def submit(file)
  require 'exercism'
  require 'cli/monitored_request'

  submission = Submission.new(file)

  if submission.test?
    say "It looks like this is a test, you probably don't want to do that."
    if no?("Do you want to submit it anyway? [y/n]")
      return
    end
  end

  if options[:ask]
    if no?("Are you sure you want to submit this assignment? [y/n]")
      return
    end
  end

  MonitoredRequest.new(api).request :submit, submission.path do |request, body|
    say "Your assignment has been submitted."
    url = "#{options[:host]}/#{Exercism.user.github_username}/#{body['language']}/#{body['exercise']}"
    say "For feedback on your submission visit #{url}"
  end
end