module LearnWeb::Client::Request

Private Instance Methods

build_body(request, body) click to toggle source
# File lib/learn_web/client/request.rb, line 41
def build_body(request, body)
  if body
    request.body = Oj.dump(body, mode: :compat)
  end
end
build_headers(request, headers) click to toggle source
# File lib/learn_web/client/request.rb, line 25
def build_headers(request, headers)
  if headers
    headers.each do |header, value|
      request.headers[header] = value
    end
  end
end
build_params(request, params) click to toggle source
# File lib/learn_web/client/request.rb, line 33
def build_params(request, params)
  if params
    params.each do |param, value|
      request.params[param] = value
    end
  end
end
build_request(request, options) click to toggle source
# File lib/learn_web/client/request.rb, line 19
def build_request(request, options)
  build_headers(request, options[:headers])
  build_params(request, options[:params])
  build_body(request, options[:body])
end
request(method, url, options = {}) click to toggle source
# File lib/learn_web/client/request.rb, line 7
def request(method, url, options = {})
  begin
    connection = options[:client] || @conn
    connection.send(method) do |req|
      req.url url
      build_request(req, options)
    end
  rescue Faraday::ConnectionFailed
    puts "Connection error. Please try again."
  end
end