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 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