tnt_mercurio 0.0.1 → 0.0.2

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
  SHA1:
3
- metadata.gz: 96015cbf531c329254d394a21a5367169d8f0e6d
4
- data.tar.gz: 728f4993069ad06b4ba662a3321c3c64a0573877
3
+ metadata.gz: 8478ccc498c902bb778946b583a7b3806cf09f74
4
+ data.tar.gz: 68a13b623d52184bc84e357cac8bea25418cede2
5
5
  SHA512:
6
- metadata.gz: 866d0a1e0170be01f175267ddf5cd60f422651a5e6c23ee2a1027bc5dcd835e3306ff44c1a3e38609ebefe9d0fa0698a3fbc1abce4d25beb441853a48dbfd94d
7
- data.tar.gz: 13ce4c74a035869acadc8ce65003dbd2ecdfa1019206f43bade7cdaa581fa36976548b3a390d7c627bd0706af3bb0317a4d9c53860ec745fa49a381236a00ef4
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
@@ -0,0 +1,9 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module TntMercurio
3
+ module Service
4
+ extend TntMercurio::Service::Configuracao
5
+ end
6
+ end
7
+
8
+ # finder = TntMercurio::Service::CalcularFrete.new
9
+ # address = finder.consultar({})
@@ -0,0 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module TntMercurio
3
+ VERSION = "0.0.2"
4
+ end
data/lib/tnt_mercurio.rb CHANGED
@@ -1,8 +1,10 @@
1
1
  # -*- encoding : utf-8 -*-
2
- class TntMercurio
2
+ require 'rubygems'
3
3
 
4
- def self.hi
5
- puts "Hello world!"
6
- end
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
- end
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.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
- - Leandro Falcão - QW3
7
+ - QW3 Software & Marketing
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-01 00:00:00.000000000 Z
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: contato@qw3.com.br
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
- - test/test_tnt_mercurio.rb
23
- homepage: http://rubygems.org/gems/tnt_mercurio
24
- licenses: []
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: '0'
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: 3
45
- summary: TntMercurio!
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
@@ -1,8 +0,0 @@
1
- require 'rake/testtask'
2
-
3
- Rake::TestTask.new do |t|
4
- t.libs << 'test'
5
- end
6
-
7
- desc "Run tests"
8
- task :default => :test
data/bin/tnt_mercurio DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'tnt_mercurio'
4
- puts TntMercurio.hi
@@ -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