class Stride::BaseRequest
Public Instance Methods
json()
click to toggle source
# File lib/stride/base_request.rb, line 3 def json if result.code =~ /20\d/ JSON.parse(result.body) else raise ApiFailure.new(error_message) end end
Private Instance Methods
error_message()
click to toggle source
# File lib/stride/base_request.rb, line 19 def error_message "Got a #{result.code} from Stride API: #{result.body}" end
headers()
click to toggle source
# File lib/stride/base_request.rb, line 44 def headers { 'content-type' => 'application/json' } end
params()
click to toggle source
# File lib/stride/base_request.rb, line 40 def params {} end
request()
click to toggle source
# File lib/stride/base_request.rb, line 23 def request request_class.new(uri).tap do |req| req.body = params.to_json if params.any? headers.each do |key, value| req[key] = value end end end
request_class()
click to toggle source
# File lib/stride/base_request.rb, line 32 def request_class Net::HTTP::Post end
result()
click to toggle source
# File lib/stride/base_request.rb, line 13 def result @result ||= Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end end
uri()
click to toggle source
# File lib/stride/base_request.rb, line 36 def uri raise 'uri must be implemented per request' end