tnt_mercurio 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/lib/tnt_mercurio/service/calcula_frete.rb +27 -0
- data/lib/tnt_mercurio/service/configuracao.rb +22 -0
- data/lib/tnt_mercurio/service/helper.rb +36 -0
- data/lib/tnt_mercurio/service/web_service.rb +43 -0
- data/lib/tnt_mercurio/service.rb +9 -0
- data/lib/tnt_mercurio/version.rb +4 -0
- data/lib/tnt_mercurio.rb +7 -5
- metadata +75 -15
- data/Rakefile +0 -8
- data/bin/tnt_mercurio +0 -4
- data/test/test_tnt_mercurio.rb +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8478ccc498c902bb778946b583a7b3806cf09f74
|
4
|
+
data.tar.gz: 68a13b623d52184bc84e357cac8bea25418cede2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 576411f5b7c1d60902094a3a756571effe1056d86fc4552d6ed3052e07819c03d7a98d6f92f21894c8f732183820771fd008cf4474f07db6ef7f96151ff0ab58
|
7
|
+
data.tar.gz: 908788e27feb99d98f6a2c4808ba51875cc668809e8c0d6d693e6c795d80762aa19a3af4d3375361e81112d224a4d235a88f2c8cd9ced98af1a5758d033cacee
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module TntMercurio
|
3
|
+
module Service
|
4
|
+
class CalcularFrete
|
5
|
+
|
6
|
+
def consultar(parametros)
|
7
|
+
resposta = web_service.request(parametros)
|
8
|
+
helper.build_response(resposta)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.consultar(parametros)
|
12
|
+
self.new.consultar(parametros)
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def web_service
|
18
|
+
@web_service ||= TntMercurio::Service::WebService.new
|
19
|
+
end
|
20
|
+
|
21
|
+
def helper
|
22
|
+
@helper ||= TntMercurio::Service::Helper.new
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module TntMercurio
|
3
|
+
module Service
|
4
|
+
module Configuracao
|
5
|
+
|
6
|
+
# Endereço do wsdl
|
7
|
+
URL = 'http://ws.tntbrasil.com.br/servicos/CalculoFrete?wsdl'
|
8
|
+
|
9
|
+
# Configurações padrões para E-Commerce
|
10
|
+
CONFIGURACAO = {
|
11
|
+
cdDivisaoCliente: '1',
|
12
|
+
tpSituacaoTributariaDestinatario: 'CN',
|
13
|
+
tpSituacaoTributariaRemetente: 'CO',
|
14
|
+
tpServico: 'RNC',
|
15
|
+
tpFrete: 'C',
|
16
|
+
tpPessoaRemetente: 'J',
|
17
|
+
tpPessoaDestinatario: 'F',
|
18
|
+
}
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
module TntMercurio
|
3
|
+
module Service
|
4
|
+
class Helper
|
5
|
+
|
6
|
+
def build_request(parametros = {})
|
7
|
+
parametros = {
|
8
|
+
in0: {
|
9
|
+
login: 'walber@pneusboni.com.br',
|
10
|
+
cepOrigem: '13560320',
|
11
|
+
nrIdentifClienteRem: '10670773000139',
|
12
|
+
nrInscricaoEstadualRemetente: '637320245117',
|
13
|
+
|
14
|
+
cepDestino: '13562503',
|
15
|
+
nrIdentifClienteDest: '32496250860',
|
16
|
+
vlMercadoria: '1500.00',
|
17
|
+
psReal: '10.000',
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
# Adiciona as configurações padrões
|
22
|
+
parametros[:in0].merge! TntMercurio::Service::Configuracao::CONFIGURACAO
|
23
|
+
|
24
|
+
return parametros
|
25
|
+
end
|
26
|
+
|
27
|
+
def build_response(resposta = {})
|
28
|
+
response = {}
|
29
|
+
response[:valor_frete] = resposta[:calcula_frete_response][:out][:vl_total_frete]
|
30
|
+
response[:prazo_entrega] = resposta[:calcula_frete_response][:out][:prazo_entrega]
|
31
|
+
return response
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'savon'
|
3
|
+
|
4
|
+
module TntMercurio
|
5
|
+
module Service
|
6
|
+
class WebService
|
7
|
+
|
8
|
+
attr_reader :savon_client
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
@savon_client = Savon.client(
|
12
|
+
wsdl: ::TntMercurio::Service::Configuracao::URL,
|
13
|
+
convert_request_keys_to: :lower_camelcase,
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
def request(parametros = {})
|
18
|
+
# Monta os parâmetros
|
19
|
+
params = helper.build_request(parametros)
|
20
|
+
|
21
|
+
# Faz a requisição para o wsdl
|
22
|
+
retorno = @savon_client.call(:calcula_frete, message: params)
|
23
|
+
|
24
|
+
# Coverte a resposta
|
25
|
+
resposta = retorno.to_array.first
|
26
|
+
|
27
|
+
# Verifica se a resposta veio correta ou se deu problema
|
28
|
+
if resposta.blank?
|
29
|
+
return {erros: retorno}
|
30
|
+
else
|
31
|
+
return resposta
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def helper
|
38
|
+
@helper ||= TntMercurio::Service::Helper.new
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/tnt_mercurio.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
|
-
|
2
|
+
require 'rubygems'
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
require "tnt_mercurio/service/calcula_frete"
|
5
|
+
require "tnt_mercurio/service/helper"
|
6
|
+
require "tnt_mercurio/service/configuracao"
|
7
|
+
require "tnt_mercurio/service/web_service"
|
7
8
|
|
8
|
-
|
9
|
+
require "tnt_mercurio/service"
|
10
|
+
require "tnt_mercurio/version"
|
metadata
CHANGED
@@ -1,27 +1,88 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tnt_mercurio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- QW3 Software & Marketing
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10
|
12
|
-
dependencies:
|
11
|
+
date: 2015-11-10 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: brdinheiro
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: brdata
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.3'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: savon
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.10'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.10'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.4'
|
13
69
|
description: Gem para utilização do Webservices disponibilizado pela empresa TNT Mercúrio.
|
14
|
-
email:
|
70
|
+
email:
|
71
|
+
- contato@qw3.com.br
|
15
72
|
executables: []
|
16
73
|
extensions: []
|
17
74
|
extra_rdoc_files: []
|
18
75
|
files:
|
19
|
-
- Rakefile
|
20
|
-
- bin/tnt_mercurio
|
21
76
|
- lib/tnt_mercurio.rb
|
22
|
-
-
|
23
|
-
|
24
|
-
|
77
|
+
- lib/tnt_mercurio/service.rb
|
78
|
+
- lib/tnt_mercurio/service/calcula_frete.rb
|
79
|
+
- lib/tnt_mercurio/service/configuracao.rb
|
80
|
+
- lib/tnt_mercurio/service/helper.rb
|
81
|
+
- lib/tnt_mercurio/service/web_service.rb
|
82
|
+
- lib/tnt_mercurio/version.rb
|
83
|
+
homepage: https://github.com/qw3/tnt_mercurio
|
84
|
+
licenses:
|
85
|
+
- MIT
|
25
86
|
metadata: {}
|
26
87
|
post_install_message:
|
27
88
|
rdoc_options: []
|
@@ -31,7 +92,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
31
92
|
requirements:
|
32
93
|
- - ">="
|
33
94
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
95
|
+
version: '1.9'
|
35
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
36
97
|
requirements:
|
37
98
|
- - ">="
|
@@ -41,7 +102,6 @@ requirements: []
|
|
41
102
|
rubyforge_project:
|
42
103
|
rubygems_version: 2.4.1
|
43
104
|
signing_key:
|
44
|
-
specification_version:
|
45
|
-
summary:
|
46
|
-
test_files:
|
47
|
-
- test/test_tnt_mercurio.rb
|
105
|
+
specification_version: 4
|
106
|
+
summary: Calcula Frete pelo TNT Mercúrio
|
107
|
+
test_files: []
|
data/Rakefile
DELETED
data/bin/tnt_mercurio
DELETED
data/test/test_tnt_mercurio.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
require 'tnt_mercurio'
|
3
|
-
|
4
|
-
class TntMercurioTest < Test::Unit::TestCase
|
5
|
-
def test_english_hello
|
6
|
-
assert_equal "hello world", TntMercurio.hi("english")
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_any_hello
|
10
|
-
assert_equal "hello world", TntMercurio.hi("ruby")
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_spanish_hello
|
14
|
-
assert_equal "tnt_mercurio mundo", TntMercurio.hi("spanish")
|
15
|
-
end
|
16
|
-
end
|