class QasDockGem::RequestsAPI

Public Class Methods

new() click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 6
def initialize
  require 'logger'
  require 'httparty'
  @logger = Logger.new($stdout)
end

Public Instance Methods

execute_delete(params) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 113
def execute_delete(params)
  formated_params = initialize_request(params)
  @logger.info("URI: #{params[:uri]}")
  @logger.info('Realizando DELETE')
  request = HTTParty.put(params[:uri], formated_params)
  @logger.info("URI Final: #{request.request.last_uri}")
  @logger.info("DELETE realizado \n")
  request
end
execute_get(params) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 83
def execute_get(params)
  formated_params = initialize_request(params)
  @logger.info("URI: #{params[:uri]}")
  @logger.info('Realizando GET')
  request = HTTParty.get(params[:uri], formated_params)
  @logger.info("URI Final: #{request.request.last_uri}")
  @logger.info("GET realizado \n")
  request
end
execute_patch(params) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 93
def execute_patch(params)
  formated_params = initialize_request(params)
  @logger.info("URI: #{params[:uri]}")
  @logger.info('Realizando PATCH')
  request = HTTParty.patch(params[:uri], formated_params)
  @logger.info("URI Final: #{request.request.last_uri}")
  @logger.info("PATCH realizado \n")
  request
end
execute_post(params) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 73
def execute_post(params)
  formated_params = initialize_request(params)
  @logger.info("URI: #{params[:uri]}")
  @logger.info('Realizando POST')
  request = HTTParty.post(params[:uri], formated_params)
  @logger.info("URI Final: #{request.request.last_uri}")
  @logger.info("POST realizado \n")
  request
end
execute_put(params) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 103
def execute_put(params)
  formated_params = initialize_request(params)
  @logger.info("URI: #{params[:uri]}")
  @logger.info('Realizando PUT')
  request = HTTParty.put(params[:uri], formated_params)
  @logger.info("URI Final: #{request.request.last_uri}")
  @logger.info("PUT realizado \n")
  request
end
init_request_basic_auth(token, basic_auth, headers) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 58
def init_request_basic_auth(token, basic_auth, headers)
  final_headers = initialize_headers(token, headers)
  @logger.info("Headers: #{final_headers}")
  { headers: final_headers, basic_auth: basic_auth }
end
init_request_body(token, payload, headers) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 49
def init_request_body(token, payload, headers)
  final_headers = initialize_headers(token, headers)
  payload = nil if payload.nil?
  @logger.info("Payload: #{payload.to_json}")
  @logger.info("Headers: #{final_headers}")

  { headers: final_headers, body: payload.nil? ? payload : payload.to_json }
end
init_request_query(token, query, headers) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 64
def init_request_query(token, query, headers)
  final_headers = initialize_headers(token, headers)
  query = {} if query.nil?
  @logger.info("Query: #{query}")
  @logger.info("Headers: #{final_headers}")

  { headers: final_headers, query: query }
end
initialize_headers(token, headers) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 12
def initialize_headers(token, headers)
  headers_default = { "cache-control": 'no-cache', "content-type": 'application/json' }

  # seta o campo authorization caso o token seja diferente de nulo
  headers_default['Authorization'] = token unless token.nil?

  # define os headers parametrizados como um Hash caso seja nulo
  headers = {} if headers.nil?

  # realiza o merge dos headers defaults + os headers parametrizados enviados
  headers_default.merge!(headers)

  # remove o campo content-type caso não seja informado
  if (headers_default[:"content-type"] == '') || headers_default[:"content-type"].nil?
    headers_default.delete(:"content-type")
  end

  # retorna os headers
  JSON.parse(headers_default.to_json)
end
initialize_request(params) click to toggle source
# File lib/qas_dock_gem/services/requests_api_services.rb, line 33
def initialize_request(params)
  formated_params = nil
  if params.include?(:payload)
    formated_params = init_request_body(params[:token], params[:payload], params[:headers])
  elsif params.include?(:query)
    formated_params = init_request_query(params[:token], params[:query], params[:headers]) if params.include?(:query)
  elsif params.include?(:basic_auth)
    formated_params = init_request_basic_auth(params[:token], params[:basic_auth], params[:headers])
  else
    #codar
  end

  # retorna os params formatados para a request
  formated_params
end