correios-frete 1.0.2 → 1.1.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/README.rdoc
CHANGED
@@ -7,7 +7,7 @@ Para a versão 0.3.0, por favor veja {README_v0.3.0.rdoc}[https://github.com/pro
|
|
7
7
|
|
8
8
|
Cálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).
|
9
9
|
|
10
|
-
Os serviços de frete suportados são <b>PAC</b>, <b>SEDEX</b>, <b>SEDEX 10</b>, <b>SEDEX Hoje</b> e <b>e-SEDEX</b
|
10
|
+
Os serviços de frete suportados são <b>PAC</b>, <b>SEDEX</b>, <b>SEDEX a Cobrar</b> (necessário informar o valor declarado), <b>SEDEX 10</b>, <b>SEDEX Hoje</b> e <b>e-SEDEX</b>. Para os serviços com contrato é necessário informar código de empresa e senha.
|
11
11
|
|
12
12
|
== Instalando
|
13
13
|
|
@@ -34,10 +34,12 @@ Cálculo de vários serviços ao mesmo tempo:
|
|
34
34
|
servicos = frete.calcular :sedex, :pac
|
35
35
|
|
36
36
|
servicos[:sedex].nome # => "SEDEX"
|
37
|
+
servicos[:sedex].descricao # => "SEDEX sem contrato"
|
37
38
|
servicos[:sedex].valor # => 26.2
|
38
39
|
servicos[:sedex].prazo_entrega # => 1
|
39
40
|
|
40
41
|
servicos[:pac].nome # => "PAC"
|
42
|
+
servicos[:pac].descricao # => "PAC sem contrato"
|
41
43
|
servicos[:pac].valor # => 10.0
|
42
44
|
servicos[:pac].prazo_entrega # => 5
|
43
45
|
|
@@ -45,11 +47,13 @@ Cálculo de um serviço de frete passando o serviço para parâmetro:
|
|
45
47
|
|
46
48
|
servico = frete.calcular :sedex
|
47
49
|
service.nome # => "SEDEX"
|
50
|
+
service.descricao # => "SEDEX sem contrato"
|
48
51
|
servico.valor # => 26.2
|
49
52
|
servico.prazo_entrega # => 1
|
50
53
|
|
51
54
|
servico = frete.calcular :pac
|
52
55
|
service.nome # => "PAC"
|
56
|
+
service.descricao # => "PAC sem contrato"
|
53
57
|
servico.valor # => 10.0
|
54
58
|
servico.prazo_entrega # => 5
|
55
59
|
|
@@ -99,12 +103,23 @@ Exemplo de log:
|
|
99
103
|
== Informações adicionais
|
100
104
|
|
101
105
|
=== Serviços suportados
|
102
|
-
:pac
|
103
|
-
:sedex
|
104
|
-
:sedex_10
|
105
|
-
:sedex_hoje
|
106
|
-
:e_sedex
|
107
106
|
|
107
|
+
:pac # 41106 - PAC sem contrato
|
108
|
+
:pac_com_contrato # 41068 - PAC com contrato
|
109
|
+
:sedex # 40010 - SEDEX sem contrato
|
110
|
+
:sedex_a_cobrar # 40045 - SEDEX a Cobrar, sem contrato
|
111
|
+
:sedex_a_cobrar_com_contrato # 40126 - SEDEX a Cobrar, com contrato
|
112
|
+
:sedex_10 # 40215 - SEDEX 10, sem contrato
|
113
|
+
:sedex_hoje # 40290 - SEDEX Hoje, sem contrato
|
114
|
+
:sedex_com_contrato_1 # 40096 - SEDEX com contrato
|
115
|
+
:sedex_com_contrato_2 # 40436 - SEDEX com contrato
|
116
|
+
:sedex_com_contrato_3 # 40444 - SEDEX com contrato
|
117
|
+
:sedex_com_contrato_4 # 40568 - SEDEX com contrato
|
118
|
+
:sedex_com_contrato_5 # 40606 - SEDEX com contrato
|
119
|
+
:e_sedex # 81019 - e-SEDEX, com contrato
|
120
|
+
:e_sedex_grupo_1 # 81868 - (Grupo 1) e-SEDEX, com contrato
|
121
|
+
:e_sedex_grupo_2 # 81833 - (Grupo 2) e-SEDEX, com contrato
|
122
|
+
:e_sedex_grupo_3 # 81850 - (Grupo 3) e-SEDEX, com contrato
|
108
123
|
|
109
124
|
=== Maneiras de configurar atributos no construtor de Correios::Frete::Calculador
|
110
125
|
|
@@ -144,7 +159,7 @@ Exemplo de log:
|
|
144
159
|
=== Atributos de Correios::Frete::Servico
|
145
160
|
|
146
161
|
==== String
|
147
|
-
codigo, erro, msg_erro, nome
|
162
|
+
codigo, erro, msg_erro, nome, descricao
|
148
163
|
==== Float
|
149
164
|
valor, valor_mao_propria, valor_aviso_recebimento, valor_valor_declarado
|
150
165
|
==== Fixnum
|
@@ -152,7 +167,8 @@ Exemplo de log:
|
|
152
167
|
==== Boolean
|
153
168
|
entrega_domiciliar, entrega_sabado
|
154
169
|
==== Symbol
|
155
|
-
tipo (:pac, :sedex, :sedex_10, :sedex_hoje, :e_sedex)
|
170
|
+
tipo (:pac, :pac_com_contrato, :sedex, :sedex_a_cobrar, :sedex_a_cobrar_com_contrato, :sedex_10, :sedex_hoje, :sedex_com_contrato_1, :sedex_com_contrato_2, :sedex_com_contrato_3, :sedex_com_contrato_4, :sedex_com_contrato_5, :e_sedex, :e_sedex_grupo_1, :e_sedex_grupo_2, :e_sedex_grupo_3)
|
171
|
+
|
156
172
|
|
157
173
|
== Copyright
|
158
174
|
|
data/correios-frete.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{correios-frete}
|
8
|
-
s.version = "1.0
|
8
|
+
s.version = "1.1.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 = %q{2011-
|
12
|
+
s.date = %q{2011-09-07}
|
13
13
|
s.description = %q{Cálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices). Serviços de frete suportados são PAC, SEDEX, SEDEX 10, SEDEX Hoje e e-SEDEX (necessário informar código de empresa e senha).}
|
14
14
|
s.email = %q{prodis@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -7,16 +7,27 @@ module Correios
|
|
7
7
|
include SAXMachine
|
8
8
|
|
9
9
|
AVAILABLE_SERVICES = {
|
10
|
-
"41106" => { :type => :pac
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"
|
14
|
-
"
|
10
|
+
"41106" => { :type => :pac , :name => "PAC", :description => "PAC sem contrato" },
|
11
|
+
"41068" => { :type => :pac_com_contrato , :name => "PAC", :description => "PAC com contrato" },
|
12
|
+
"40010" => { :type => :sedex , :name => "SEDEX", :description => "SEDEX sem contrato" },
|
13
|
+
"40045" => { :type => :sedex_a_cobrar , :name => "SEDEX a Cobrar", :description => "SEDEX a Cobrar, sem contrato" },
|
14
|
+
"40126" => { :type => :sedex_a_cobrar_com_contrato , :name => "SEDEX a Cobrar", :description => "SEDEX a Cobrar, com contrato" },
|
15
|
+
"40215" => { :type => :sedex_10 , :name => "SEDEX 10", :description => "SEDEX 10, sem contrato" },
|
16
|
+
"40290" => { :type => :sedex_hoje , :name => "SEDEX Hoje", :description => "SEDEX Hoje, sem contrato" },
|
17
|
+
"40096" => { :type => :sedex_com_contrato_1 , :name => "SEDEX", :description => "SEDEX com contrato" },
|
18
|
+
"40436" => { :type => :sedex_com_contrato_2 , :name => "SEDEX", :description => "SEDEX com contrato" },
|
19
|
+
"40444" => { :type => :sedex_com_contrato_3 , :name => "SEDEX", :description => "SEDEX com contrato" },
|
20
|
+
"40568" => { :type => :sedex_com_contrato_4 , :name => "SEDEX", :description => "SEDEX com contrato" },
|
21
|
+
"40606" => { :type => :sedex_com_contrato_5 , :name => "SEDEX", :description => "SEDEX com contrato" },
|
22
|
+
"81019" => { :type => :e_sedex , :name => "e-SEDEX", :description => "e-SEDEX, com contrato" },
|
23
|
+
"81868" => { :type => :e_sedex_grupo_1 , :name => "e-SEDEX", :description => "(Grupo 1) e-SEDEX, com contrato" },
|
24
|
+
"81833" => { :type => :e_sedex_grupo_2 , :name => "e-SEDEX", :description => "(Grupo 2) e-SEDEX, com contrato" },
|
25
|
+
"81850" => { :type => :e_sedex_grupo_3 , :name => "e-SEDEX", :description => "(Grupo 3) e-SEDEX, com contrato" }
|
15
26
|
}
|
16
27
|
|
17
28
|
element :Codigo, :as => :codigo
|
18
29
|
element :Valor, :as => :valor
|
19
|
-
|
30
|
+
element :PrazoEntrega, :as => :prazo_entrega
|
20
31
|
element :ValorMaoPropria, :as => :valor_mao_propria
|
21
32
|
element :ValorAvisoRecebimento, :as => :valor_aviso_recebimento
|
22
33
|
element :ValorValorDeclarado, :as => :valor_valor_declarado
|
@@ -24,7 +35,7 @@ module Correios
|
|
24
35
|
element :EntregaSabado, :as => :entrega_sabado
|
25
36
|
element :Erro, :as => :erro
|
26
37
|
element :MsgErro, :as => :msg_erro
|
27
|
-
attr_reader :tipo, :nome
|
38
|
+
attr_reader :tipo, :nome, :descricao
|
28
39
|
|
29
40
|
alias_method :original_parse, :parse
|
30
41
|
|
@@ -34,6 +45,7 @@ module Correios
|
|
34
45
|
if AVAILABLE_SERVICES[codigo]
|
35
46
|
@tipo = AVAILABLE_SERVICES[codigo][:type]
|
36
47
|
@nome = AVAILABLE_SERVICES[codigo][:name]
|
48
|
+
@descricao = AVAILABLE_SERVICES[codigo][:description]
|
37
49
|
end
|
38
50
|
|
39
51
|
cast_to_float! :valor, :valor_mao_propria, :valor_aviso_recebimento, :valor_valor_declarado
|
@@ -27,7 +27,7 @@ module Correios
|
|
27
27
|
"nCdFormato=#{FORMATS[frete.formato]}&" +
|
28
28
|
"sCdMaoPropria=#{CONDITIONS[frete.mao_propria]}&" +
|
29
29
|
"sCdAvisoRecebimento=#{CONDITIONS[frete.aviso_recebimento]}&" +
|
30
|
-
"nVlValorDeclarado=#{frete.valor_declarado}&" +
|
30
|
+
"nVlValorDeclarado=#{format("%.2f" % frete.valor_declarado)}&" +
|
31
31
|
"nCdServico=#{service_codes_for(service_types)}&" +
|
32
32
|
"nCdEmpresa=#{frete.codigo_empresa}&" +
|
33
33
|
"sDsSenha=#{frete.senha}&" +
|
@@ -14,7 +14,7 @@ describe Correios::Frete::WebService do
|
|
14
14
|
:formato => :rolo_prisma,
|
15
15
|
:mao_propria => true,
|
16
16
|
:aviso_recebimento => false,
|
17
|
-
:valor_declarado =>
|
17
|
+
:valor_declarado => 10.0,
|
18
18
|
:codigo_empresa => "1234567890",
|
19
19
|
:senha => "senha"
|
20
20
|
|
@@ -29,7 +29,7 @@ describe Correios::Frete::WebService do
|
|
29
29
|
"nCdFormato=2&" +
|
30
30
|
"sCdMaoPropria=S&" +
|
31
31
|
"sCdAvisoRecebimento=N&" +
|
32
|
-
"nVlValorDeclarado=
|
32
|
+
"nVlValorDeclarado=10.00&" +
|
33
33
|
"nCdServico=41106,40010&" +
|
34
34
|
"nCdEmpresa=1234567890&" +
|
35
35
|
"sDsSenha=senha&" +
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: correios-frete
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.0
|
5
|
+
version: 1.1.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Prodis a.k.a. Fernando Hamasaki
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-09-07 00:00:00 -03:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|