correios-frete-alternative 1.10.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9e388a73e550cea8fd88efcf81f77e786ed293f1
4
+ data.tar.gz: 294afb6601e0f43befcac0784c88f2bb73d7fa47
5
+ SHA512:
6
+ metadata.gz: 80d8679e4b56592430ceaced1d4cb74b13604b7770b5f1cbd097fd243689e9b2712414c1312cb36b70cfa9e52113d0c6d848a06cb76b5951e2c3b511945bbf5b
7
+ data.tar.gz: e6bd014f167905ad1aaecc0ae019d2f8946935ea4c192fdbd623b8d4d81e1b4285022e18e083de56de53d7f26d3586c55d7d97a4f775654cba31a084ee6ccaf7
@@ -0,0 +1,28 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+
19
+ # For MacOS:
20
+ .DS_Store
21
+
22
+ # For vim:
23
+ *.swp
24
+ *.swo
25
+
26
+ # RVM
27
+ .ruby-gemset
28
+ .ruby-version
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require 'spec_helper'
@@ -0,0 +1,18 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.0.0
5
+ - 2.1.10
6
+ - 2.2.7
7
+ - 2.3.4
8
+ - 2.4.1
9
+ - ruby-head
10
+
11
+ matrix:
12
+ allow_failures:
13
+ - rvm: ruby-head
14
+ fast_finish: true
15
+
16
+ script: bundle exec rspec
17
+ cache: bundler
18
+ sudo: false
@@ -0,0 +1,107 @@
1
+ == Versão 1.10.1
2
+ - Atualização: suporte para nokogiri 1.7 (https://github.com/prodis/correios-frete/issues/25)
3
+
4
+ == Versão 1.10.0
5
+ - Novo: Versão mínima do Ruby é 1.9.3 a partir de agora.
6
+
7
+ == Versão 1.9.5
8
+ - Atualização: nokogiri e sax-machine gems.
9
+
10
+ == Versão 1.9.4
11
+ - Atualização: Versão 0.0.10 da gem log-me.
12
+
13
+ == Versão 1.9.3
14
+ - Correção: Valores a partir de 1000 retornam com pontos nos milhares (1.000,00) e a conversão para float não estava excluindo os pontos do número.
15
+
16
+ == Versão 1.9.2
17
+ - Correção: A condição de sucesso para frete cálculado a partir de agora é o valor do frete e não mais se existe uma mensagem de erro. Existem casos onde o frete é calculado, mas também é retornada uma mensagem de erro. Nesse caso não é erro um erro, e sim uma mensagem de aviso. Por exemplo, CEP de origem 20091-005 e CEP de destino 23085-270.
18
+
19
+ == Versão 1.9.1
20
+ - Atualização: Versão 0.0.7 da gem log-me.
21
+ - Atualização: Versão 1.6.2 da gem Nokogiri.
22
+
23
+ == Versão 1.9.0
24
+ - Novo: {Issue #11: Suporte ao formato envelope}[https://github.com/prodis/correios-frete/pull/11].
25
+
26
+ == Versão 1.8.0
27
+ - Novo: {Issue #10: Suporte ao formato envelope}[https://github.com/prodis/correios-frete/issues/10].
28
+
29
+ == Versão 1.7.0
30
+ - Novo: Configuração de tempo de espera de resposta (timeout) para requisições ao Web Service dos Correios.
31
+ - Atualização: Gem WebMock no lugar da gem FakeWeb e remoção da gem Jeweler.
32
+
33
+ == Versão 1.6.2
34
+ - Melhoria: Método HTTP no log de requisição.
35
+ - Atualização: Versão 0.0.3 da gem log-me.
36
+
37
+ == Versão 1.6.1
38
+ - Melhoria: Encoding de ISO-8859-1 para UTF-8 em toda resposta do Web Service.
39
+
40
+ == Versão 1.6.0
41
+ - Correção: Encoding de ISO-8859-1 para UTF-8 na mensagem de erro dos serviços, pois o parser não estava rolando para mensagens com acentos e/ou cedilhas.
42
+
43
+ == Versão 1.5.2
44
+ - Correção: {Issue #9: Bundler as dependency}[https://github.com/prodis/correios-frete/issues/9] - Remoção da gem bundler das dependências de ambiente de desenvolvimento.
45
+ - Atualização: Refatorações de testes.
46
+
47
+ == Versão 1.5.1
48
+ - Novo: Construtor de Correios::Frete::Pacote recebendo itens.
49
+
50
+ == Versão 1.5.0
51
+ - Novo: {Issue #3: Cálculo de frete para múltiplos itens}[https://github.com/prodis/correios-frete/issues/3] utilizando pacotes.
52
+ - Correção: Formatação de separador de casas decimais com vírgula na requisição do Web Service dos Correios.
53
+
54
+ == Versão 1.4.0
55
+ - Novo: Suporte para cálculo de e-SEDEX Prioritário e e-SEDEX Express.
56
+
57
+ == Versão 1.3.3
58
+ - Atualização: Versão 1.5.0 da gem nokogiri.
59
+
60
+ == Versão 1.3.2
61
+ - Correção: Data do gemspec estava sendo gerada com horário zerado e parava a instalação da gem.
62
+
63
+ == Versão 1.3.1
64
+ - Correção: Passagem correta de parâmetros na criação da classe Correios::Frete::WebService no cálculo de frete.
65
+
66
+ == Versão 1.3.0
67
+ - Atualização: Refatoração das classes Correios::Frete::Calculador e Correios::Frete::WebService.
68
+
69
+ == Versão 1.2.1
70
+ - Atualização: Documentação
71
+
72
+ == Versão 1.2.0
73
+ - Novo: Uso da gem LogMe.
74
+ - Melhoria: Opção de logar os cabeçalhos HTTP da resposta do Web Service dos Correios.
75
+
76
+ == Versão 1.1.0
77
+ - Novo: Suporte para todos os serviços de frete disponibilizados pelos Correios.
78
+ - Correção: Formatação com duas casas decimais do valor declarado.
79
+
80
+ == Versão 1.0.2
81
+ - Melhoria: Remoção dos cabeçalhos HTTP no log da resposta do Web Service dos Correios.
82
+
83
+ == Versão 1.0.1
84
+ - Atualização: Documentação.
85
+
86
+ == Versão 1.0.0
87
+ - Aviso: Quebra de compatibilidade com a versão 0.3.0.
88
+ - Novo: Adicionado log de requisição e resposta do Web Service dos Correios.
89
+
90
+ == Versão 0.3.0
91
+ - Novo: Métodos diretos para cálculo de um serviço de frete por vez. Exemplo: Correios::Frete#calcular_sedex.
92
+
93
+ == Versão 0.2.1
94
+ - Melhoria: Alias Correios::Frete::Servico#sucesso? para Correios::Frete::Servico#success?.
95
+ - Melhoria: Alias Correios::Frete::Servico#erro? para Correios::Frete::Servico#error?.
96
+ - Atualização: Documentação.
97
+
98
+ == Versão 0.2.0
99
+ - Novo: Suporte para cálculo de e-SEDEX.
100
+ - Melhoria: Alias Correios::Frete#calculate para Correios::Frete#calcular.
101
+ - Melhoria: Atributo "nome" em Correios::Frete::Servico.
102
+ - Correção: {Issue #2: undefined method `key' for #<Hash:0xb5e8eea4>}[https://github.com/prodis/correios-frete/issues/2].
103
+
104
+ == Versão 0.1.0
105
+ - Cálculo de frete para os serviços PAC, SEDEX, SEDEX 10 e SEDEX Hoje.
106
+ - Cálculo de um serviço de frete por vez.
107
+ - Cálculo de vários serviços de frete ao mesmo tempo.
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "https://rubygems.org"
2
+ gemspec
@@ -0,0 +1,364 @@
1
+ = correios-frete
2
+
3
+ Cálculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).
4
+
5
+ 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.
6
+
7
+ http://prodis.net.br/images/ruby/2011/correios_logo.png
8
+
9
+
10
+ == Instalando
11
+
12
+ === Gemfile
13
+ gem 'correios-frete'
14
+
15
+ === Instalação direta
16
+ $ gem install correios-frete
17
+
18
+
19
+ == Usando
20
+
21
+ require 'correios-frete'
22
+
23
+ frete = Correios::Frete::Calculador.new :cep_origem => "04094-050",
24
+ :cep_destino => "90619-900",
25
+ :peso => 0.3,
26
+ :comprimento => 30,
27
+ :largura => 15,
28
+ :altura => 2
29
+
30
+ Cálculo de vários serviços ao mesmo tempo:
31
+
32
+ servicos = frete.calcular :sedex, :pac
33
+
34
+ servicos[:sedex].nome # => "SEDEX"
35
+ servicos[:sedex].descricao # => "SEDEX sem contrato"
36
+ servicos[:sedex].valor # => 26.2
37
+ servicos[:sedex].prazo_entrega # => 1
38
+
39
+ servicos[:pac].nome # => "PAC"
40
+ servicos[:pac].descricao # => "PAC sem contrato"
41
+ servicos[:pac].valor # => 10.0
42
+ servicos[:pac].prazo_entrega # => 5
43
+
44
+ Cálculo de um serviço de frete passando o serviço para parâmetro:
45
+
46
+ servico = frete.calcular :sedex
47
+ servico.nome # => "SEDEX"
48
+ servico.descricao # => "SEDEX sem contrato"
49
+ servico.valor # => 26.2
50
+ servico.prazo_entrega # => 1
51
+
52
+ servico = frete.calcular :pac
53
+ servico.nome # => "PAC"
54
+ servico.descricao # => "PAC sem contrato"
55
+ servico.valor # => 10.0
56
+ servico.prazo_entrega # => 5
57
+
58
+ Cálculo de um serviço de frete chamando o método direto do serviço:
59
+
60
+ servico = frete.calcular_sedex
61
+ servico.nome # => "SEDEX"
62
+ servico.descricao # => "SEDEX sem contrato"
63
+ servico.valor # => 26.2
64
+ servico.prazo_entrega # => 1
65
+
66
+ servico = frete.calcular_pac
67
+ servico.nome # => "PAC"
68
+ servico.descricao # => "PAC sem contrato"
69
+ servico.valor # => 10.0
70
+ servico.prazo_entrega # => 5
71
+
72
+ Verificação de sucesso e erro:
73
+
74
+ frete.altura = 100
75
+
76
+ servico = frete.calcular_sedex
77
+ servico.sucesso? # => false
78
+ servico.erro? # => true
79
+ servico.msg_erro # => "A altura nao pode ser maior que o comprimento."
80
+
81
+ Usando a interface pública em inglês:
82
+
83
+ servicos = frete.calculate :sedex, :pac
84
+
85
+ servico = frete.calculate_sedex
86
+ servico.success? # => true
87
+ servico.error? # => false
88
+
89
+
90
+ === Usando pacotes
91
+
92
+ Você pode "montar" um pacote com vários itens. Com o cálculo do volume dos itens adicionados, o pacote único será gerado em formato de cubo.
93
+
94
+ item1 = Correios::Frete::PacoteItem.new :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2
95
+ item2 = Correios::Frete::PacoteItem.new :peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3
96
+
97
+ pacote = Correios::Frete::Pacote.new
98
+ pacote.adicionar_item(item1)
99
+ pacote.adicionar_item(item2)
100
+
101
+ pacote.peso # => 1.0
102
+ pacote.comprimento # => 18.32138799447962
103
+ pacote.largura # => 18.32138799447962
104
+ pacote.altura # => 18.32138799447962
105
+ pacote.volume # => 6150.0
106
+ pacote.formato # => :caixa_pacote
107
+ pacote.itens.size # => 2
108
+
109
+ Caso alguma dimensão do pacote montado seja menor que o tamanho mínimo exigido pelos Correios, o valor mínimo será atribuído à dimensão.
110
+
111
+ item1 = Correios::Frete::PacoteItem.new :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2
112
+ item2 = Correios::Frete::PacoteItem.new :peso => 0.7, :comprimento => 40, :largura => 10, :altura => 3
113
+
114
+ pacote = Correios::Frete::Pacote.new
115
+ pacote.adicionar_item(item1)
116
+ pacote.adicionar_item(item2)
117
+
118
+ pacote.comprimento # => 16.0
119
+ pacote.largura # => 12.80579164987494
120
+ pacote.altura # => 12.80579164987494
121
+
122
+ Montado o pacote, basta passá-lo pelo parâmetro <b>encomenda</b> no construtor de Correios::Frete::Calculador.
123
+
124
+ frete = Correios::Frete::Calculador.new :cep_origem => "04094-050",
125
+ :cep_destino => "90619-900",
126
+ :encomenda => pacote
127
+
128
+ servicos = frete.calcular :sedex, :pac
129
+
130
+ servicos[:sedex].valor # => 29.2
131
+ servicos[:sedex].prazo_entrega # => 1
132
+
133
+ servicos[:pac].valor # => 13.3
134
+ servicos[:pac].prazo_entrega # => 5
135
+
136
+ <b>Observação:</b> Quando uma encomenda é fornecida ao calculador de frete, os parâmetros <b>peso</b>, <b>comprimento</b>, <b>largura</b>, <b>altura</b> e <b>formato</b> serão ignorados, sendo utilizados os valores da encomenda.
137
+
138
+ Usando a interface pública em inglês:
139
+
140
+ item1 = Correios::Frete::PacoteItem.new :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2
141
+ item2 = Correios::Frete::PacoteItem.new :peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3
142
+
143
+ pacote = Correios::Frete::Pacote.new
144
+ pacote.add_item(item1)
145
+ pacote.add_item(item2)
146
+ pacote.items.size # => 2
147
+
148
+
149
+ == Configurações
150
+
151
+ === Timeout
152
+
153
+ Por padrão, o tempo de espera de resposta (timeout) para uma requisição ao Web Service dos Correios é de <b>10 segundos</b>. Após isso, se o Web Service dos Correios não responder, uma exceção do tipo <b>Timeout::Error</b> será lançada.
154
+ Você pode configurar esse tempo de espera usando o módulo <b>Correios::Frete</b>.
155
+
156
+ Correios::Frete.configure do |config|
157
+ config.request_timeout = 3 # Configura o tempo de espera para 3 segundos
158
+ end
159
+
160
+
161
+ === Log
162
+
163
+ Por padrão, cada chamada ao Web Service dos Correios é logada em STDOUT, com nível de log <b>:info</b>, usando a gem {LogMe}[http://github.com/prodis/log-me].
164
+
165
+ Exemplo de log:
166
+ I, [2011-10-01T00:26:16.864990 #5631] INFO -- : Correios-Frete Request:
167
+ http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=04094-050&sCepDestino=90619-900&nVlPeso=0.3&nVlComprimento=30&nVlAltura=2&nVlLargura=15&nVlDiametro=0.0&nCdFormato=1&sCdMaoPropria=N&sCdAvisoRecebimento=N&nVlValorDeclarado=0,00&nCdServico=04510&nCdEmpresa=&sDsSenha=&StrRetorno=xml
168
+
169
+ I, [2011-10-01T00:26:17.121822 #5631] INFO -- : Correios-Frete Response:
170
+ HTTP/1.1 200 OK
171
+ <?xml version="1.0" encoding="ISO-8859-1" ?>
172
+ <Servicos><cServico><Codigo>04510</Codigo><Valor>10,00</Valor><PrazoEntrega>5</PrazoEntrega><ValorMaoPropria>0,00</ValorMaoPropria><ValorAvisoRecebimento>0,00</ValorAvisoRecebimento><ValorValorDeclarado>0,00</ValorValorDeclarado><EntregaDomiciliar>S</EntregaDomiciliar><EntregaSabado>N</EntregaSabado><Erro>0</Erro><MsgErro></MsgErro></cServico></Servicos>
173
+
174
+ Se você configurar o nível de log como <b>:debug</b>, serão logados também todos os cabeçalhos HTTP da resposta:
175
+ D, [2011-10-01T00:27:50.597961 #5631] DEBUG -- : Correios-Frete Request:
176
+ http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=04094-050&sCepDestino=90619-900&nVlPeso=0.3&nVlComprimento=30&nVlAltura=2&nVlLargura=15&nVlDiametro=0.0&nCdFormato=1&sCdMaoPropria=N&sCdAvisoRecebimento=N&nVlValorDeclarado=0,00&nCdServico=04510&nCdEmpresa=&sDsSenha=&StrRetorno=xml
177
+
178
+ D, [2011-10-01T00:27:50.812046 #5631] DEBUG -- : Correios-Frete Response:
179
+ HTTP/1.1 200 OK
180
+ date: Sat, 01 Oct 2011 03:27:55 GMT
181
+ server: Microsoft-IIS/6.0
182
+ x-powered-by: ASP.NET
183
+ x-aspnet-version: 1.1.4322
184
+ set-cookie: ASP.NET_SessionId=cnoejn3dpioxapejc0c3np55; path=/
185
+ cache-control: private
186
+ expires: Sat, 01 Oct 2011 03:27:55 GMT
187
+ content-type: text/xml; charset=iso-8859-1
188
+ content-length: 401
189
+ <?xml version="1.0" encoding="ISO-8859-1" ?>
190
+ <Servicos><cServico><Codigo>04510</Codigo><Valor>10,00</Valor><PrazoEntrega>5</PrazoEntrega><ValorMaoPropria>0,00</ValorMaoPropria><ValorAvisoRecebimento>0,00</ValorAvisoRecebimento><ValorValorDeclarado>0,00</ValorValorDeclarado><EntregaDomiciliar>S</EntregaDomiciliar><EntregaSabado>N</EntregaSabado><Erro>0</Erro><MsgErro></MsgErro></cServico></Servicos>
191
+
192
+ Para desabilitar o log, mudar o nível do log ou configurar um outro mecanismo de log, use o módulo <b>Correios::Frete</b>.
193
+
194
+ Correios::Frete.configure do |config|
195
+ config.log_enabled = false # Desabilita o log
196
+ config.log_level = :debug # Altera o nível do log
197
+ config.logger = Rails.logger # Usa o logger do Rails
198
+ end
199
+
200
+ === Exemplo de configuração
201
+
202
+ Correios::Frete.configure do |config|
203
+ config.log_level = :debug
204
+ config.logger = Rails.logger
205
+ config.request_timeout = 3
206
+ end
207
+
208
+ == Informações adicionais
209
+
210
+ === Serviços suportados
211
+
212
+ :pac # 04510 - PAC sem contrato
213
+ :pac_com_contrato # 41068 - PAC com contrato
214
+ :pac_gf # 41300 - PAC para grandes formatos
215
+ :sedex # 04014 - SEDEX sem contrato
216
+ :sedex_a_cobrar # 40045 - SEDEX a Cobrar, sem contrato
217
+ :sedex_a_cobrar_com_contrato # 40126 - SEDEX a Cobrar, com contrato
218
+ :sedex_10 # 40215 - SEDEX 10, sem contrato
219
+ :sedex_hoje # 40290 - SEDEX Hoje, sem contrato
220
+ :sedex_com_contrato_1 # 40096 - SEDEX com contrato
221
+ :sedex_com_contrato_2 # 40436 - SEDEX com contrato
222
+ :sedex_com_contrato_3 # 40444 - SEDEX com contrato
223
+ :sedex_com_contrato_4 # 40568 - SEDEX com contrato
224
+ :sedex_com_contrato_5 # 40606 - SEDEX com contrato
225
+ :e_sedex # 81019 - e-SEDEX, com contrato
226
+ :e_sedex_prioritario # 81027 - e-SEDEX Prioritário, com contrato
227
+ :e_sedex_express # 81035 - e-SEDEX Express, com contrato
228
+ :e_sedex_grupo_1 # 81868 - (Grupo 1) e-SEDEX, com contrato
229
+ :e_sedex_grupo_2 # 81833 - (Grupo 2) e-SEDEX, com contrato
230
+ :e_sedex_grupo_3 # 81850 - (Grupo 3) e-SEDEX, com contrato
231
+
232
+ === Maneiras de configurar atributos no construtor de Correios::Frete::Calculador
233
+
234
+ ==== Com um hash
235
+ frete = Correios::Frete::Calculador.new :cep_origem => "04094-050",
236
+ :cep_destino => "90619-900",
237
+ :peso => 0.3,
238
+ :comprimento => 30,
239
+ :largura => 15,
240
+ :altura => 2
241
+
242
+ ==== Com um bloco
243
+ frete = Correios::Frete::Calculador.new do |f|
244
+ f.cep_origem = "04094-050"
245
+ f.cep_destino = "90619-900"
246
+ f.peso = 0.3
247
+ f.comprimento = 30
248
+ f.largura = 15
249
+ f.altura = 2
250
+ end
251
+
252
+ === Maneiras de adicionar itens em Correios::Frete::Pacote
253
+
254
+ ==== Pelo método adicionar_item passando instâncias de Correios::Frete::PacoteItem
255
+
256
+ item1 = Correios::Frete::PacoteItem.new :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2
257
+ item2 = Correios::Frete::PacoteItem.new :peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3
258
+
259
+ pacote = Correios::Frete::Pacote.new
260
+ pacote.adicionar_item(item1)
261
+ pacote.adicionar_item(item2)
262
+
263
+ ==== Pelo construtor passando instâncias de Correios::Frete::PacoteItem
264
+
265
+ pacote = Correios::Frete::Pacote.new [
266
+ Correios::Frete::PacoteItem.new(:peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2),
267
+ Correios::Frete::PacoteItem.new(:peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3)
268
+ ]
269
+
270
+ ==== Pelo método adicionar_item passando parâmetros dos itens
271
+
272
+ pacote = Correios::Frete::Pacote.new
273
+ pacote.adicionar_item(:peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2)
274
+ pacote.adicionar_item(:peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3)
275
+
276
+ ==== Pelo construtor passando parâmetros dos itens
277
+
278
+ pacote = Correios::Frete::Pacote.new [
279
+ { :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2 },
280
+ { :peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3 }
281
+ ]
282
+
283
+
284
+ === Atributos de Correios::Frete::Calculador
285
+
286
+ ==== String
287
+ cep_origem, cep_destino, codigo_empresa, senha
288
+ ==== Float
289
+ peso, comprimento, largura, altura, diametro, valor_declarado
290
+ ==== Boolean
291
+ mao_propria, aviso_recebimento
292
+ ==== Symbol
293
+ formato (:caixa_pacote, :rolo_prisma, :envelope)
294
+
295
+
296
+ === Atributos de Correios::Frete::Pacote
297
+
298
+ ==== Float
299
+ peso, comprimento, largura, altura, volume
300
+ ==== Array de Correios::Frete::PacoteItem
301
+ itens
302
+ ==== Symbol
303
+ formato (:caixa_pacote)
304
+
305
+ === Atributos de Correios::Frete::PacoteItem
306
+
307
+ ==== Float
308
+ peso, comprimento, largura, altura, volume
309
+
310
+
311
+ === Atributos de Correios::Frete::Servico
312
+
313
+ ==== String
314
+ codigo, erro, msg_erro, nome, descricao
315
+ ==== Float
316
+ valor, valor_mao_propria, valor_aviso_recebimento, valor_valor_declarado
317
+ ==== Fixnum
318
+ prazo_entrega
319
+ ==== Boolean
320
+ entrega_domiciliar, entrega_sabado
321
+ ==== Symbol
322
+ tipo (:pac, :pac_com_contrato, :pac_gf, :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_prioritario, :e_sedex_express, :e_sedex_grupo_1, :e_sedex_grupo_2, :e_sedex_grupo_3)
323
+
324
+
325
+ == Autor
326
+ - {Fernando Hamasaki de Amorim (prodis)}[http://prodis.blog.br]
327
+
328
+ == Colaboradores
329
+ - {Daniel Konishi (dkonishi)}[https://github.com/dkonishi]
330
+ - {Denis Tierno (detierno)}[https://github.com/detierno]
331
+ - {Gui Albuk (guialbuk)}[https://github.com/guialbuk]
332
+ - {Rafael Barbolo (barbolo)}[https://github.com/barbolo]
333
+ - {Rafael Souza (rafaelss)}[https://github.com/rafaelss]
334
+ - {Ricardo Bernardelli (bernardelli)}[https://github.com/bernardelli]
335
+ - {Rodolfo Ferreira (rodolfo42)}[https://github.com/rodolfo42]
336
+
337
+
338
+ == Copyright
339
+
340
+ (The MIT License)
341
+
342
+ {Prodis a.k.a. Fernando Hamasaki de Amorim}[http://prodis.blog.br]
343
+
344
+ Copyright (c) 2011-2017 Prodis
345
+
346
+ Permission is hereby granted, free of charge, to any person obtaining
347
+ a copy of this software and associated documentation files (the
348
+ "Software"), to deal in the Software without restriction, including
349
+ without limitation the rights to use, copy, modify, merge, publish,
350
+ distribute, sublicense, and/or sell copies of the Software, and to
351
+ permit persons to whom the Software is furnished to do so, subject to
352
+ the following conditions:
353
+
354
+ The above copyright notice and this permission notice shall be
355
+ included in all copies or substantial portions of the Software.
356
+
357
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
358
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
359
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
360
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
361
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
362
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
363
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
364
+