paypal-frete-facil 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@ module PayPal
4
4
  module Version
5
5
  MAJOR = 0
6
6
  MINOR = 2
7
- PATCH = 0
7
+ PATCH = 1
8
8
  VERSION = [MAJOR, MINOR, PATCH].join(".")
9
9
  end
10
10
  end
@@ -12,20 +12,34 @@ module PayPal
12
12
  end
13
13
 
14
14
  def request(frete)
15
+ http = get_http
16
+
17
+ request = get_request(frete)
18
+ log_request(request)
19
+
20
+ response = http.request(request)
21
+ log_response(response)
22
+
23
+ response.body
24
+ end
25
+
26
+ private
27
+
28
+ def get_http
15
29
  http = Net::HTTP.new(@uri.host, @uri.port)
16
30
  http.use_ssl = true
17
31
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
32
+ http
33
+ end
18
34
 
35
+ def get_request(frete)
19
36
  request = Net::HTTP::Post.new(@uri.path)
20
37
  request["Content-Type"] = "text/xml; charset=utf-8"
21
38
  request["SoapAction"] = "#{URL}/getPreco"
22
39
  request.body = request_body_for(frete)
23
-
24
- with_log(request) { http.request(request) }
40
+ request
25
41
  end
26
42
 
27
- private
28
-
29
43
  def request_body_for(frete)
30
44
  "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:frete=\"https://ff.paypal-brasil.com.br/FretesPayPalWS\">" +
31
45
  "<soapenv:Header />" +
@@ -42,25 +56,22 @@ module PayPal
42
56
  "</soapenv:Envelope>"
43
57
  end
44
58
 
45
- def with_log(request)
46
- PayPal::FreteFacil.log format_request_message(request)
47
- response = yield
48
- PayPal::FreteFacil.log format_response_message(response)
49
- response.body
50
- end
51
-
52
- def format_request_message(request)
53
- format_message(request) do |message|
59
+ def log_request(request)
60
+ message = format_message(request) do
54
61
  message = with_line_break { "PayPal-Frete-Facil Request:" }
55
62
  message << with_line_break { URL }
56
63
  end
64
+
65
+ PayPal::FreteFacil.log(message)
57
66
  end
58
67
 
59
- def format_response_message(response)
60
- format_message(response) do |message|
68
+ def log_response(response)
69
+ message = format_message(response) do
61
70
  message = with_line_break { "PayPal-Frete-Facil Response:" }
62
71
  message << with_line_break { "HTTP/#{response.http_version} #{response.code} #{response.message}" }
63
72
  end
73
+
74
+ PayPal::FreteFacil.log(message)
64
75
  end
65
76
 
66
77
  def format_message(http)
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{paypal-frete-facil}
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Prodis a.k.a. Fernando Hamasaki"]
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: paypal-frete-facil
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.0
5
+ version: 0.2.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Prodis a.k.a. Fernando Hamasaki