module CodewarsApi::RequestHelper

Public Class Methods

add_api_key(request_options, api_key) click to toggle source
# File lib/codewars_api/helpers/request_helper.rb, line 8
def self.add_api_key(request_options, api_key)
  request_options = request_options.dup
  request_options[:headers] = { 'Authorization' => api_key }
  request_options
end
add_body_options(request_options, body_options) click to toggle source
# File lib/codewars_api/helpers/request_helper.rb, line 14
def self.add_body_options(request_options, body_options)
  request_options = request_options.dup
  request_options[:body] = body_options
  request_options
end
get(url, options = nil) click to toggle source
# File lib/codewars_api/helpers/request_helper.rb, line 29
def self.get(url, options = nil)
  uri = URI(CodewarsApi::BASE_URL + url)
  headers = options[:headers] if options
  https(uri).request_get uri, headers
end
https(uri) click to toggle source
# File lib/codewars_api/helpers/request_helper.rb, line 35
def self.https(uri)
  https = Net::HTTP.new(uri.host, uri.port)
  https.use_ssl = true
  https
end
post(url, options = {}) click to toggle source
# File lib/codewars_api/helpers/request_helper.rb, line 20
def self.post(url, options = {})
  uri = URI(CodewarsApi::BASE_URL + url)
  headers = { 'Content-Type' => 'application/json' }
  headers.merge! options[:headers] if options
  request = Net::HTTP::Post.new(uri.path, headers)
  request.body = options[:body].to_json if options
  https(uri).request(request)
end