qas_dock_gem 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd3e0b99415a8e6201f37cc75c3d8b2639f1fda90ee324f05b45c165edcde0c6
4
- data.tar.gz: 15b9ff4c86c0ab4fb878840a3e391cf207ff3142b712aa32d6442ef855789349
3
+ metadata.gz: c675efc3cd99875b8648a13ed017b88a30ccf0d99d56d8d3b159f514c00f8e35
4
+ data.tar.gz: 7d4094461b8a0d2388899a2ac66a60653ea4262289285eaba412f3717fdd7c5f
5
5
  SHA512:
6
- metadata.gz: a4012e287b44a412e01e4b8d6bec77873bd32728b0798c1624349901080eb3e918d422e6593cd8faec8360e6a2e633fbabfa476576440896d9709733e42a52c7
7
- data.tar.gz: 930edda3514d3d177916af19d91410c2cd39958a1e08fe29de96362b83575bfa1c013f8915141c689c5bbde7250c9741dbfc7b764f51a9a1e264f24889945f73
6
+ metadata.gz: 672f503e183207b1f733436355f280bd4b8d9317dd616c701018a309dfd4983cca87fee4fa8ba1a3ac691497f2ee23523c70cbb6199313772ed5748671ae6af5
7
+ data.tar.gz: c068f7258f18069de49199c42ffec853c3f702240d69d1c08ee1831f874defa7cac4137bbad86b72e5cd43f61eaeba97e82d2bcc9b003e83cd420ed93de30d52
data/Gemfile CHANGED
@@ -6,3 +6,4 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
+ gem "pry"
data/lib/qas_dock_gem.rb CHANGED
@@ -4,21 +4,113 @@ require_relative "qas_dock_gem/version"
4
4
 
5
5
  module QasDockGem
6
6
  class RequestsAPI
7
- require 'httparty'
8
- require 'logger'
7
+ require "httparty"
8
+ require "logger"
9
+
10
+ def initialize
11
+ @logger = Logger.new(STDOUT)
12
+ end
13
+
14
+ def initialize_headers(token, headers)
15
+ headers_default = {"cache-control": "no-cache", "content-type": "application/json"}
16
+
17
+ #seta o campo authorization caso o token seja diferente de nulo
18
+ headers_default["Authorization"] = token unless token.nil?
19
+
20
+ #define os headers parametrizados como um Hash caso seja nulo
21
+ headers = {} if headers.nil?
22
+
23
+ #realiza o merge dos headers defaults + os headers parametrizados
24
+ headers_default.merge!(headers)
25
+
26
+ #remove o campo content-type caso não seja informado
27
+ headers_default.delete(:"content-type") if headers_default[:"content-type"] == "" or headers_default[:"content-type"].nil?
28
+
29
+ #retorna os headers
30
+ JSON.parse(headers_default.to_json)
31
+ end
32
+
33
+ def initialize_request(params)
34
+ formated_params = init_request_body(params[:token], params[:payload], params[:headers]) if params.include?(:payload)
35
+ formated_params = init_request_query(params[:token], params[:query], params[:headers]) if params.include?(:query)
36
+ formated_params = init_request_basic_auth(params[:token], params[:basic_auth], params[:headers]) if params.include?(:basic_auth)
37
+
38
+ #retorna os params formatados para a request
39
+ formated_params
40
+ end
41
+
42
+ def init_request_body(token, payload, headers)
43
+ final_headers = initialize_headers(token, headers)
44
+ payload = {} if payload.nil?
45
+ @logger.info("Payload: #{payload.to_json}")
46
+ @logger.info("Headers: #{final_headers}")
47
+
48
+ { :headers => final_headers, :body => payload.to_json }
49
+ end
50
+
51
+ def init_request_basic_auth(token, basic_auth, headers)
52
+ final_headers = initialize_headers(token, headers)
53
+ payload = {} if payload.nil?
54
+ @logger.info("Headers: #{final_headers}")
55
+ { :headers => final_headers, :basic_auth => basic_auth }
56
+ end
57
+
58
+ def init_request_query(token, query, headers)
59
+ final_headers = initialize_headers(token, headers)
60
+ query = {} if query.nil?
61
+ @logger.info("Query: #{query}")
62
+ @logger.info("Headers: #{final_headers}")
63
+
64
+ { :headers => final_headers, :query => query }
65
+ end
9
66
 
10
- def execute_post(token, uri, payload, headers)
11
- logger = Logger.new(STDOUT)
12
- logger.info("Realizando POST")
13
- logger.info("URI: #{uri}")
14
- logger.info("Payload: #{payload}")
15
- logger.info("Headers: #{headers}")
16
- params = {
17
- :headers => {'cache-control': 'no-cache','content-type': 'application/json'},
18
- :body => payload.to_json
19
- }
20
- request = HTTParty.post(uri, params)
21
- logger.info("POST realizado")
67
+ def execute_post(params)
68
+ formated_params = initialize_request(params)
69
+ @logger.info("Realizando POST")
70
+ @logger.info("URI: #{params[:uri]}")
71
+ request = HTTParty.post(params[:uri], formated_params)
72
+ @logger.info("URI Final: #{request.request.last_uri}")
73
+ @logger.info("POST realizado \n")
74
+ request
75
+ end
76
+
77
+ def execute_get(params)
78
+ formated_params = initialize_request(params)
79
+ @logger.info("Realizando GET")
80
+ @logger.info("URI: #{params[:uri]}")
81
+ request = HTTParty.get(params[:uri], formated_params)
82
+ @logger.info("URI Final: #{request.request.last_uri}")
83
+ @logger.info("GET realizado \n")
84
+ request
85
+ end
86
+
87
+ def execute_patch(params)
88
+ formated_params = initialize_request(params)
89
+ @logger.info("Realizando PATCH")
90
+ @logger.info("URI: #{params[:uri]}")
91
+ request = HTTParty.patch(params[:uri], formated_params)
92
+ @logger.info("URI Final: #{request.request.last_uri}")
93
+ @logger.info("PATCH realizado \n")
94
+ request
95
+ end
96
+
97
+ def execute_put(params)
98
+ formated_params = initialize_request(params)
99
+ @logger.info("Realizando PUT")
100
+ @logger.info("URI: #{params[:uri]}")
101
+ request = HTTParty.put(params[:uri], formated_params)
102
+ @logger.info("URI Final: #{request.request.last_uri}")
103
+ @logger.info("PUT realizado \n")
104
+ request
105
+ end
106
+
107
+ def execute_delete(params)
108
+ formated_params = initialize_request(params)
109
+ @logger.info("Realizando DELETE")
110
+ @logger.info("URI: #{params[:uri]}")
111
+ request = HTTParty.put(params[:uri], formated_params)
112
+ @logger.info("URI Final: #{request.request.last_uri}")
113
+ @logger.info("DELETE realizado \n")
22
114
  request
23
115
  end
24
116
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module QasDockGem
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qas_dock_gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - LucasKoritar23
@@ -76,6 +76,7 @@ files:
76
76
  - qas_dock_gem-0.1.1.gem
77
77
  - qas_dock_gem-0.1.2.gem
78
78
  - qas_dock_gem-0.1.3.gem
79
+ - qas_dock_gem-0.1.4.gem
79
80
  - qas_dock_gem.gemspec
80
81
  homepage: ''
81
82
  licenses: