paypal-frete-facil 0.2.2 → 1.0.0
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.
- data/Gemfile +6 -5
- data/Gemfile.lock +45 -18
- data/README.rdoc +3 -3
- data/Rakefile +5 -6
- data/lib/paypal/fretefacil/frete.rb +2 -3
- data/lib/paypal/fretefacil/version.rb +3 -3
- data/lib/paypal/fretefacil/web_service.rb +16 -15
- data/paypal-frete-facil.gemspec +29 -24
- data/spec/paypal/fretefacil/frete_spec.rb +13 -14
- data/spec/paypal/fretefacil/parser_spec.rb +6 -20
- data/spec/spec_helper.rb +3 -1
- data/spec/support/fake_request.rb +12 -0
- data/spec/support/responses/success_response.xml +8 -0
- metadata +76 -71
data/Gemfile
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
3
|
gem "log-me", "~> 0.0.2"
|
4
|
-
gem "nokogiri", "~> 1.
|
4
|
+
gem "nokogiri", "~> 1.5"
|
5
5
|
|
6
6
|
group :development do
|
7
|
-
gem "
|
8
|
-
gem "
|
9
|
-
gem "
|
10
|
-
gem "
|
7
|
+
gem "fakeweb", "~> 1.3"
|
8
|
+
gem "jeweler", "~> 1.8"
|
9
|
+
gem "rspec", "~> 2.10"
|
10
|
+
gem "ruby-debug", :platforms => :ruby_18
|
11
|
+
gem "ruby-debug19", :require => "ruby-debug", :platforms => :ruby_19
|
11
12
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,32 +1,59 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
|
4
|
+
archive-tar-minitar (0.5.2)
|
5
|
+
columnize (0.3.6)
|
6
|
+
diff-lcs (1.1.3)
|
7
|
+
fakeweb (1.3.0)
|
5
8
|
git (1.2.5)
|
6
|
-
jeweler (1.
|
9
|
+
jeweler (1.8.3)
|
7
10
|
bundler (~> 1.0)
|
8
11
|
git (>= 1.2.5)
|
9
12
|
rake
|
13
|
+
rdoc
|
14
|
+
json (1.7.1)
|
15
|
+
linecache (0.46)
|
16
|
+
rbx-require-relative (> 0.0.4)
|
17
|
+
linecache19 (0.5.12)
|
18
|
+
ruby_core_source (>= 0.1.4)
|
10
19
|
log-me (0.0.2)
|
11
|
-
nokogiri (1.
|
12
|
-
rake (0.9.2)
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
rspec-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
rspec-
|
20
|
+
nokogiri (1.5.2)
|
21
|
+
rake (0.9.2.2)
|
22
|
+
rbx-require-relative (0.0.9)
|
23
|
+
rdoc (3.12)
|
24
|
+
json (~> 1.4)
|
25
|
+
rspec (2.10.0)
|
26
|
+
rspec-core (~> 2.10.0)
|
27
|
+
rspec-expectations (~> 2.10.0)
|
28
|
+
rspec-mocks (~> 2.10.0)
|
29
|
+
rspec-core (2.10.0)
|
30
|
+
rspec-expectations (2.10.0)
|
31
|
+
diff-lcs (~> 1.1.3)
|
32
|
+
rspec-mocks (2.10.1)
|
33
|
+
ruby-debug (0.10.4)
|
34
|
+
columnize (>= 0.1)
|
35
|
+
ruby-debug-base (~> 0.10.4.0)
|
36
|
+
ruby-debug-base (0.10.4)
|
37
|
+
linecache (>= 0.3)
|
38
|
+
ruby-debug-base19 (0.11.25)
|
39
|
+
columnize (>= 0.3.1)
|
40
|
+
linecache19 (>= 0.5.11)
|
41
|
+
ruby_core_source (>= 0.1.4)
|
42
|
+
ruby-debug19 (0.11.6)
|
43
|
+
columnize (>= 0.3.1)
|
44
|
+
linecache19 (>= 0.5.11)
|
45
|
+
ruby-debug-base19 (>= 0.11.19)
|
46
|
+
ruby_core_source (0.1.5)
|
47
|
+
archive-tar-minitar (>= 0.5.2)
|
22
48
|
|
23
49
|
PLATFORMS
|
24
50
|
ruby
|
25
51
|
|
26
52
|
DEPENDENCIES
|
27
|
-
|
28
|
-
jeweler (~> 1.
|
53
|
+
fakeweb (~> 1.3)
|
54
|
+
jeweler (~> 1.8)
|
29
55
|
log-me (~> 0.0.2)
|
30
|
-
nokogiri (~> 1.
|
31
|
-
|
32
|
-
|
56
|
+
nokogiri (~> 1.5)
|
57
|
+
rspec (~> 2.10)
|
58
|
+
ruby-debug
|
59
|
+
ruby-debug19
|
data/README.rdoc
CHANGED
@@ -32,7 +32,7 @@ Por padrão, cada chamada ao Web Service do PayPal Frete Fácil é logada em STD
|
|
32
32
|
|
33
33
|
Exemplo de log:
|
34
34
|
I, [2011-08-29T22:00:52.624430 #2186] INFO -- : PayPal-Frete-Facil Request:
|
35
|
-
https://ff.paypal-brasil.com.br/FretesPayPalWS/WSFretesPayPal
|
35
|
+
POST https://ff.paypal-brasil.com.br/FretesPayPalWS/WSFretesPayPal
|
36
36
|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:frete="https://ff.paypal-brasil.com.br/FretesPayPalWS"><soapenv:Header /><soapenv:Body><frete:getPreco><cepOrigem>04094-050</cepOrigem><cepDestino>90619-900</cepDestino><largura>15</largura><altura>2</altura><profundidade>30</profundidade><peso>0.3</peso></frete:getPreco></soapenv:Body></soapenv:Envelope>
|
37
37
|
|
38
38
|
I, [2011-08-29T22:00:53.917895 #2186] INFO -- : PayPal-Frete-Facil Response:
|
@@ -41,7 +41,7 @@ Exemplo de log:
|
|
41
41
|
|
42
42
|
Se você configurar o nível de log como :debug, serão logados também todos os cabeçalhos HTTP da requisição e da resposta:
|
43
43
|
D, [2011-08-29T22:00:52.624430 #2186] DEBUG -- : PayPal-Frete-Facil Request:
|
44
|
-
https://ff.paypal-brasil.com.br/FretesPayPalWS/WSFretesPayPal
|
44
|
+
POST https://ff.paypal-brasil.com.br/FretesPayPalWS/WSFretesPayPal
|
45
45
|
accept: */*
|
46
46
|
user-agent: Ruby
|
47
47
|
content-type: text/xml; charset=utf-8
|
@@ -104,7 +104,7 @@ Para desabilitar o log, mudar o nível do log ou configurar um outro mecanismo d
|
|
104
104
|
|
105
105
|
{Prodis a.k.a. Fernando Hamasaki}[http://prodis.blog.br]
|
106
106
|
|
107
|
-
Copyright (c) 2011 Prodis
|
107
|
+
Copyright (c) 2011-2012 Prodis
|
108
108
|
|
109
109
|
Permission is hereby granted, free of charge, to any person obtaining
|
110
110
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'rubygems'
|
3
|
-
require 'rake'
|
4
|
-
require './lib/paypal/fretefacil/version'
|
5
|
-
|
6
3
|
require 'bundler'
|
7
4
|
begin
|
8
5
|
Bundler.setup(:default, :development)
|
@@ -11,15 +8,17 @@ rescue Bundler::BundlerError => e
|
|
11
8
|
$stderr.puts "Run `bundle install` to install missing gems"
|
12
9
|
exit e.status_code
|
13
10
|
end
|
11
|
+
require 'rake'
|
14
12
|
|
15
13
|
require 'jeweler'
|
14
|
+
require './lib/paypal/fretefacil/version'
|
16
15
|
Jeweler::Tasks.new do |gem|
|
17
16
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
18
17
|
gem.name = "paypal-frete-facil"
|
19
|
-
gem.homepage = "http://prodis.blog.br/
|
18
|
+
gem.homepage = "http://prodis.blog.br/paypal-frete-facil-gem-para-calculo-de-frete-do-paypal-frete-facil"
|
20
19
|
gem.license = "MIT"
|
21
|
-
gem.summary = %Q{
|
22
|
-
gem.description = %Q{
|
20
|
+
gem.summary = %Q{Calculo de frete do PayPal Frete Facil.}
|
21
|
+
gem.description = %Q{Calculo de frete atraves do PayPal Frete Facil (http://www.paypal-brasil.com.br/fretefacil).}
|
23
22
|
gem.email = "prodis@gmail.com"
|
24
23
|
gem.authors = ["Prodis a.k.a. Fernando Hamasaki"]
|
25
24
|
gem.version = PayPal::FreteFacil::Version::VERSION
|
@@ -5,7 +5,6 @@ module PayPal
|
|
5
5
|
attr_accessor :cep_origem, :cep_destino
|
6
6
|
attr_accessor :largura, :altura, :profundidade
|
7
7
|
attr_accessor :peso
|
8
|
-
attr_writer :web_service, :parser
|
9
8
|
|
10
9
|
DEFAULT_OPTIONS = {
|
11
10
|
:largura => 0,
|
@@ -23,7 +22,7 @@ module PayPal
|
|
23
22
|
end
|
24
23
|
|
25
24
|
def web_service
|
26
|
-
|
25
|
+
PayPal::FreteFacil::WebService.new(self)
|
27
26
|
end
|
28
27
|
|
29
28
|
def parser
|
@@ -31,7 +30,7 @@ module PayPal
|
|
31
30
|
end
|
32
31
|
|
33
32
|
def calcular
|
34
|
-
response = web_service.request
|
33
|
+
response = web_service.request!
|
35
34
|
parser.parse(response)
|
36
35
|
end
|
37
36
|
|
@@ -7,14 +7,15 @@ module PayPal
|
|
7
7
|
class WebService
|
8
8
|
URL = "https://ff.paypal-brasil.com.br/FretesPayPalWS/WSFretesPayPal"
|
9
9
|
|
10
|
-
def initialize
|
10
|
+
def initialize(frete)
|
11
11
|
@uri = URI.parse(URL)
|
12
|
+
@frete = frete
|
12
13
|
end
|
13
14
|
|
14
|
-
def request
|
15
|
-
http =
|
15
|
+
def request!
|
16
|
+
http = build_http
|
16
17
|
|
17
|
-
request =
|
18
|
+
request = build_request
|
18
19
|
log_request(request)
|
19
20
|
|
20
21
|
response = http.request(request)
|
@@ -25,32 +26,32 @@ module PayPal
|
|
25
26
|
|
26
27
|
private
|
27
28
|
|
28
|
-
def
|
29
|
+
def build_http
|
29
30
|
http = Net::HTTP.new(@uri.host, @uri.port)
|
30
31
|
http.use_ssl = true
|
31
32
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
32
33
|
http
|
33
34
|
end
|
34
35
|
|
35
|
-
def
|
36
|
+
def build_request
|
36
37
|
request = Net::HTTP::Post.new(@uri.path)
|
37
38
|
request["Content-Type"] = "text/xml; charset=utf-8"
|
38
39
|
request["SoapAction"] = "#{URL}/getPreco"
|
39
|
-
request.body =
|
40
|
+
request.body = request_body
|
40
41
|
request
|
41
42
|
end
|
42
43
|
|
43
|
-
def
|
44
|
+
def request_body
|
44
45
|
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:frete=\"https://ff.paypal-brasil.com.br/FretesPayPalWS\">" +
|
45
46
|
"<soapenv:Header />" +
|
46
47
|
"<soapenv:Body>" +
|
47
48
|
"<frete:getPreco>" +
|
48
|
-
"<cepOrigem>#{frete.cep_origem}</cepOrigem>" +
|
49
|
-
"<cepDestino>#{frete.cep_destino}</cepDestino>" +
|
50
|
-
"<largura>#{frete.largura}</largura>" +
|
51
|
-
"<altura>#{frete.altura}</altura>" +
|
52
|
-
"<profundidade>#{frete.profundidade}</profundidade>" +
|
53
|
-
"<peso>#{frete.peso}</peso>" +
|
49
|
+
"<cepOrigem>#{@frete.cep_origem}</cepOrigem>" +
|
50
|
+
"<cepDestino>#{@frete.cep_destino}</cepDestino>" +
|
51
|
+
"<largura>#{@frete.largura}</largura>" +
|
52
|
+
"<altura>#{@frete.altura}</altura>" +
|
53
|
+
"<profundidade>#{@frete.profundidade}</profundidade>" +
|
54
|
+
"<peso>#{@frete.peso}</peso>" +
|
54
55
|
"</frete:getPreco>" +
|
55
56
|
"</soapenv:Body>" +
|
56
57
|
"</soapenv:Envelope>"
|
@@ -59,7 +60,7 @@ module PayPal
|
|
59
60
|
def log_request(request)
|
60
61
|
message = format_message(request) do
|
61
62
|
message = with_line_break { "PayPal-Frete-Facil Request:" }
|
62
|
-
message << with_line_break { URL }
|
63
|
+
message << with_line_break { "POST #{URL}" }
|
63
64
|
end
|
64
65
|
|
65
66
|
PayPal::FreteFacil.log(message)
|
data/paypal-frete-facil.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
7
|
+
s.name = "paypal-frete-facil"
|
8
|
+
s.version = "1.0.0"
|
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"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-05-08"
|
13
|
+
s.description = "Calculo de frete atraves do PayPal Frete Facil (http://www.paypal-brasil.com.br/fretefacil)."
|
14
|
+
s.email = "prodis@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"README.rdoc"
|
17
17
|
]
|
@@ -31,40 +31,45 @@ Gem::Specification.new do |s|
|
|
31
31
|
"paypal-frete-facil.gemspec",
|
32
32
|
"spec/paypal/fretefacil/frete_spec.rb",
|
33
33
|
"spec/paypal/fretefacil/parser_spec.rb",
|
34
|
-
"spec/spec_helper.rb"
|
34
|
+
"spec/spec_helper.rb",
|
35
|
+
"spec/support/fake_request.rb",
|
36
|
+
"spec/support/responses/success_response.xml"
|
35
37
|
]
|
36
|
-
s.homepage =
|
38
|
+
s.homepage = "http://prodis.blog.br/paypal-frete-facil-gem-para-calculo-de-frete-do-paypal-frete-facil"
|
37
39
|
s.licenses = ["MIT"]
|
38
40
|
s.require_paths = ["lib"]
|
39
41
|
s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
|
40
|
-
s.rubygems_version =
|
41
|
-
s.summary =
|
42
|
+
s.rubygems_version = "1.8.16"
|
43
|
+
s.summary = "Calculo de frete do PayPal Frete Facil."
|
42
44
|
|
43
45
|
if s.respond_to? :specification_version then
|
44
46
|
s.specification_version = 3
|
45
47
|
|
46
48
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
47
49
|
s.add_runtime_dependency(%q<log-me>, ["~> 0.0.2"])
|
48
|
-
s.add_runtime_dependency(%q<nokogiri>, ["~> 1.
|
49
|
-
s.add_development_dependency(%q<
|
50
|
-
s.add_development_dependency(%q<
|
51
|
-
s.add_development_dependency(%q<
|
52
|
-
s.add_development_dependency(%q<
|
50
|
+
s.add_runtime_dependency(%q<nokogiri>, ["~> 1.5"])
|
51
|
+
s.add_development_dependency(%q<fakeweb>, ["~> 1.3"])
|
52
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
|
53
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.10"])
|
54
|
+
s.add_development_dependency(%q<ruby-debug>, [">= 0"])
|
55
|
+
s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
|
53
56
|
else
|
54
57
|
s.add_dependency(%q<log-me>, ["~> 0.0.2"])
|
55
|
-
s.add_dependency(%q<nokogiri>, ["~> 1.
|
56
|
-
s.add_dependency(%q<
|
57
|
-
s.add_dependency(%q<
|
58
|
-
s.add_dependency(%q<
|
59
|
-
s.add_dependency(%q<
|
58
|
+
s.add_dependency(%q<nokogiri>, ["~> 1.5"])
|
59
|
+
s.add_dependency(%q<fakeweb>, ["~> 1.3"])
|
60
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8"])
|
61
|
+
s.add_dependency(%q<rspec>, ["~> 2.10"])
|
62
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
63
|
+
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
60
64
|
end
|
61
65
|
else
|
62
66
|
s.add_dependency(%q<log-me>, ["~> 0.0.2"])
|
63
|
-
s.add_dependency(%q<nokogiri>, ["~> 1.
|
64
|
-
s.add_dependency(%q<
|
65
|
-
s.add_dependency(%q<
|
66
|
-
s.add_dependency(%q<
|
67
|
-
s.add_dependency(%q<
|
67
|
+
s.add_dependency(%q<nokogiri>, ["~> 1.5"])
|
68
|
+
s.add_dependency(%q<fakeweb>, ["~> 1.3"])
|
69
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8"])
|
70
|
+
s.add_dependency(%q<rspec>, ["~> 2.10"])
|
71
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
72
|
+
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
68
73
|
end
|
69
74
|
end
|
70
75
|
|
@@ -22,9 +22,7 @@ describe PayPal::FreteFacil::Frete do
|
|
22
22
|
:largura => 15,
|
23
23
|
:altura => 2,
|
24
24
|
:profundidade => 30,
|
25
|
-
:peso => 0.321
|
26
|
-
:web_service => PayPal::FreteFacil::WebService.new,
|
27
|
-
:parser => PayPal::FreteFacil::Parser.new
|
25
|
+
:peso => 0.321
|
28
26
|
}.each do |attr, value|
|
29
27
|
context "when #{attr} is supplied" do
|
30
28
|
it "sets #{attr}" do
|
@@ -42,18 +40,19 @@ describe PayPal::FreteFacil::Frete do
|
|
42
40
|
end
|
43
41
|
end
|
44
42
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
43
|
+
[:calcular, :calculate].each do |method_name|
|
44
|
+
describe method_name do
|
45
|
+
around do |example|
|
46
|
+
PayPal::FreteFacil.configure { |config| config.log_enabled = false }
|
47
|
+
example.run
|
48
|
+
PayPal::FreteFacil.configure { |config| config.log_enabled = true }
|
49
|
+
end
|
50
50
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
@frete.calcular.should == 8.19
|
51
|
+
it "returns shipping price" do
|
52
|
+
fake_request(10.23)
|
53
|
+
frete = PayPal::FreteFacil::Frete.new
|
54
|
+
frete.send(method_name).should == 10.23
|
55
|
+
end
|
57
56
|
end
|
58
57
|
end
|
59
58
|
end
|
@@ -3,32 +3,18 @@ require 'spec_helper'
|
|
3
3
|
|
4
4
|
describe PayPal::FreteFacil::Parser do
|
5
5
|
describe "#parse" do
|
6
|
-
|
6
|
+
let(:parser) { PayPal::FreteFacil::Parser.new }
|
7
7
|
|
8
8
|
context "when XML is correct" do
|
9
9
|
it "returns shipping price" do
|
10
|
-
xml =
|
11
|
-
|
12
|
-
<S:Body>
|
13
|
-
<ns2:getPrecoResponse xmlns:ns2=\"https://ff.paypal-brasil.com.br/FretesPayPalWS\">
|
14
|
-
<return>8.19</return>
|
15
|
-
</ns2:getPrecoResponse>
|
16
|
-
</S:Body>
|
17
|
-
</S:Envelope>"""
|
18
|
-
@parser.parse(xml).should == 8.19
|
10
|
+
xml = response_body(8.19)
|
11
|
+
parser.parse(xml).should == 8.19
|
19
12
|
end
|
20
13
|
|
21
14
|
context "and shipping price has more then two decimal places" do
|
22
15
|
it "returns shipping price rounded to two decimal places" do
|
23
|
-
xml =
|
24
|
-
|
25
|
-
<S:Body>
|
26
|
-
<ns2:getPrecoResponse xmlns:ns2=\"https://ff.paypal-brasil.com.br/FretesPayPalWS\">
|
27
|
-
<return>8.2261234567</return>
|
28
|
-
</ns2:getPrecoResponse>
|
29
|
-
</S:Body>
|
30
|
-
</S:Envelope>"""
|
31
|
-
@parser.parse(xml).should == 8.23
|
16
|
+
xml = response_body(8.2261234567)
|
17
|
+
parser.parse(xml).should == 8.23
|
32
18
|
end
|
33
19
|
end
|
34
20
|
end
|
@@ -36,7 +22,7 @@ describe PayPal::FreteFacil::Parser do
|
|
36
22
|
context "when XML is not correct" do
|
37
23
|
it "returns zero" do
|
38
24
|
xml = "<error>Error message.</error>"
|
39
|
-
|
25
|
+
parser.parse(xml).should be_zero
|
40
26
|
end
|
41
27
|
end
|
42
28
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,11 +2,13 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
3
|
require 'rspec'
|
4
4
|
require 'paypal-frete-facil'
|
5
|
+
require 'fakeweb'
|
5
6
|
|
6
7
|
# Requires supporting files with custom matchers and macros, etc,
|
7
8
|
# in ./support/ and its subdirectories.
|
8
9
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
9
10
|
|
10
11
|
RSpec.configure do |config|
|
11
|
-
|
12
12
|
end
|
13
|
+
|
14
|
+
FakeWeb.allow_net_connect = false
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
def fake_request(price)
|
4
|
+
FakeWeb.register_uri(:post,
|
5
|
+
Regexp.new("https://ff.paypal-brasil.com.br/FretesPayPalWS/WSFretesPayPal"),
|
6
|
+
:status => 200,
|
7
|
+
:body => response_body(price))
|
8
|
+
end
|
9
|
+
|
10
|
+
def response_body(price)
|
11
|
+
File.open(File.dirname(__FILE__) + "/responses/success_response.xml").read.gsub("[PRICE]", price.to_s)
|
12
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<S:Body>
|
4
|
+
<ns2:getPrecoResponse xmlns:ns2="https://ff.paypal-brasil.com.br/FretesPayPalWS">
|
5
|
+
<return>[PRICE]</return>
|
6
|
+
</ns2:getPrecoResponse>
|
7
|
+
</S:Body>
|
8
|
+
</S:Envelope>
|
metadata
CHANGED
@@ -1,93 +1,100 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: paypal-frete-facil
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
4
5
|
prerelease:
|
5
|
-
version: 0.2.2
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Prodis a.k.a. Fernando Hamasaki
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-05-08 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: log-me
|
18
|
-
requirement: &
|
16
|
+
requirement: &11293900 !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
18
|
+
requirements:
|
21
19
|
- - ~>
|
22
|
-
- !ruby/object:Gem::Version
|
20
|
+
- !ruby/object:Gem::Version
|
23
21
|
version: 0.0.2
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
|
-
version_requirements: *
|
27
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *11293900
|
25
|
+
- !ruby/object:Gem::Dependency
|
28
26
|
name: nokogiri
|
29
|
-
requirement: &
|
27
|
+
requirement: &11293000 !ruby/object:Gem::Requirement
|
30
28
|
none: false
|
31
|
-
requirements:
|
29
|
+
requirements:
|
32
30
|
- - ~>
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 1.
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.5'
|
35
33
|
type: :runtime
|
36
34
|
prerelease: false
|
37
|
-
version_requirements: *
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
40
|
-
requirement: &
|
35
|
+
version_requirements: *11293000
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: fakeweb
|
38
|
+
requirement: &11291920 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
|
-
requirements:
|
40
|
+
requirements:
|
43
41
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.3'
|
46
44
|
type: :development
|
47
45
|
prerelease: false
|
48
|
-
version_requirements: *
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
51
|
-
requirement: &
|
46
|
+
version_requirements: *11291920
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: jeweler
|
49
|
+
requirement: &11290900 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
|
-
requirements:
|
51
|
+
requirements:
|
54
52
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 1.
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.8'
|
57
55
|
type: :development
|
58
56
|
prerelease: false
|
59
|
-
version_requirements: *
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
62
|
-
requirement: &
|
57
|
+
version_requirements: *11290900
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rspec
|
60
|
+
requirement: &11289970 !ruby/object:Gem::Requirement
|
63
61
|
none: false
|
64
|
-
requirements:
|
62
|
+
requirements:
|
65
63
|
- - ~>
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version:
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '2.10'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *11289970
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: ruby-debug
|
71
|
+
requirement: &11289380 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
68
77
|
type: :development
|
69
78
|
prerelease: false
|
70
|
-
version_requirements: *
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
73
|
-
requirement: &
|
79
|
+
version_requirements: *11289380
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: ruby-debug19
|
82
|
+
requirement: &11304950 !ruby/object:Gem::Requirement
|
74
83
|
none: false
|
75
|
-
requirements:
|
76
|
-
- -
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version:
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
79
88
|
type: :development
|
80
89
|
prerelease: false
|
81
|
-
version_requirements: *
|
82
|
-
description:
|
90
|
+
version_requirements: *11304950
|
91
|
+
description: Calculo de frete atraves do PayPal Frete Facil (http://www.paypal-brasil.com.br/fretefacil).
|
83
92
|
email: prodis@gmail.com
|
84
93
|
executables: []
|
85
|
-
|
86
94
|
extensions: []
|
87
|
-
|
88
|
-
extra_rdoc_files:
|
95
|
+
extra_rdoc_files:
|
89
96
|
- README.rdoc
|
90
|
-
files:
|
97
|
+
files:
|
91
98
|
- .document
|
92
99
|
- .rspec
|
93
100
|
- Gemfile
|
@@ -104,33 +111,31 @@ files:
|
|
104
111
|
- spec/paypal/fretefacil/frete_spec.rb
|
105
112
|
- spec/paypal/fretefacil/parser_spec.rb
|
106
113
|
- spec/spec_helper.rb
|
107
|
-
|
108
|
-
|
109
|
-
|
114
|
+
- spec/support/fake_request.rb
|
115
|
+
- spec/support/responses/success_response.xml
|
116
|
+
homepage: http://prodis.blog.br/paypal-frete-facil-gem-para-calculo-de-frete-do-paypal-frete-facil
|
117
|
+
licenses:
|
110
118
|
- MIT
|
111
119
|
post_install_message:
|
112
120
|
rdoc_options: []
|
113
|
-
|
114
|
-
require_paths:
|
121
|
+
require_paths:
|
115
122
|
- lib
|
116
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
117
124
|
none: false
|
118
|
-
requirements:
|
119
|
-
- -
|
120
|
-
- !ruby/object:Gem::Version
|
125
|
+
requirements:
|
126
|
+
- - ! '>='
|
127
|
+
- !ruby/object:Gem::Version
|
121
128
|
version: 1.8.7
|
122
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
130
|
none: false
|
124
|
-
requirements:
|
125
|
-
- -
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
version:
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
128
135
|
requirements: []
|
129
|
-
|
130
136
|
rubyforge_project:
|
131
|
-
rubygems_version: 1.
|
137
|
+
rubygems_version: 1.8.16
|
132
138
|
signing_key:
|
133
139
|
specification_version: 3
|
134
|
-
summary:
|
140
|
+
summary: Calculo de frete do PayPal Frete Facil.
|
135
141
|
test_files: []
|
136
|
-
|