paypal-frete-facil 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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