correios-frete 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,6 @@
1
+ == Versão 1.5.1
2
+ - Novo: Construtor de Correios::Frete::Pacote recebendo itens.
3
+
1
4
  == Versão 1.5.0
2
5
  - Novo: {Issue #3: Cálculo de frete para múltiplos itens}[https://github.com/prodis/correios-frete/issues/3] utilizando pacotes.
3
6
  - Correção: Formatação de separador de casas decimais com vírgula na requisição do Web Service dos Correios.
data/README.rdoc CHANGED
@@ -227,7 +227,7 @@ Para desabilitar o log, mudar o nível do log ou configurar um outro mecanismo d
227
227
 
228
228
  === Maneiras de adicionar itens em Correios::Frete::Pacote
229
229
 
230
- ==== Com instâncias de Correios::Frete::PacoteItem
230
+ ==== Pelo método adicionar_item passando instâncias de Correios::Frete::PacoteItem
231
231
 
232
232
  item1 = Correios::Frete::PacoteItem.new :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2
233
233
  item2 = Correios::Frete::PacoteItem.new :peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3
@@ -236,11 +236,26 @@ Para desabilitar o log, mudar o nível do log ou configurar um outro mecanismo d
236
236
  pacote.adicionar_item(item1)
237
237
  pacote.adicionar_item(item2)
238
238
 
239
- ==== Com parâmetros dos itens
239
+ ==== Pelo construtor passando instâncias de Correios::Frete::PacoteItem
240
+
241
+ pacote = Correios::Frete::Pacote.new [
242
+ Correios::Frete::PacoteItem.new(:peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2),
243
+ Correios::Frete::PacoteItem.new(:peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3)
244
+ ]
245
+
246
+ ==== Pelo método adicionar_item passando parâmetros dos itens
247
+
240
248
  pacote = Correios::Frete::Pacote.new
241
249
  pacote.adicionar_item(:peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2)
242
250
  pacote.adicionar_item(:peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3)
243
251
 
252
+ ==== Pelo construtor passando parâmetros dos itens
253
+
254
+ pacote = Correios::Frete::Pacote.new [
255
+ { :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2 },
256
+ { :peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3 }
257
+ ]
258
+
244
259
 
245
260
  === Atributos de Correios::Frete::Calculador
246
261
 
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ Jeweler::Tasks.new do |gem|
18
18
  gem.homepage = "http://prodis.blog.br/2011/07/03/gem-para-calculo-de-frete-dos-correios"
19
19
  gem.license = "MIT"
20
20
  gem.summary = %Q{Calculo de frete dos Correios.}
21
- gem.description = %Q{Calculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).\n\nOs servicos de frete suportados sao PAC, SEDEX, SEDEX a Cobrar, SEDEX 10, SEDEX Hoje e e-SEDEX.}
21
+ gem.description = %Q{Calculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).\nOs servicos de frete suportados sao PAC, SEDEX, SEDEX a Cobrar, SEDEX 10, SEDEX Hoje e e-SEDEX.}
22
22
  gem.email = "prodis@gmail.com"
23
23
  gem.authors = ["Prodis a.k.a. Fernando Hamasaki"]
24
24
  gem.version = Correios::Frete::Version::VERSION
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "correios-frete"
8
- s.version = "1.5.0"
8
+ s.version = "1.5.1"
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 = "2012-01-25"
13
- s.description = "Calculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).\n\nOs servicos de frete suportados sao PAC, SEDEX, SEDEX a Cobrar, SEDEX 10, SEDEX Hoje e e-SEDEX."
12
+ s.date = "2012-01-26"
13
+ s.description = "Calculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).\nOs servicos de frete suportados sao PAC, SEDEX, SEDEX a Cobrar, SEDEX 10, SEDEX Hoje e e-SEDEX."
14
14
  s.email = "prodis@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "README.rdoc"
@@ -10,9 +10,11 @@ module Correios
10
10
  :altura => 2.0
11
11
  }
12
12
 
13
- def initialize()
13
+ def initialize(itens = nil)
14
14
  @peso = @comprimento = @largura = @altura = @volume = 0.0
15
15
  @itens = []
16
+
17
+ itens.each { |item| adicionar_item(item) } if itens
16
18
  end
17
19
 
18
20
  def formato
@@ -4,7 +4,7 @@ module Correios
4
4
  module Version
5
5
  MAJOR = 1
6
6
  MINOR = 5
7
- PATCH = 0
7
+ PATCH = 1
8
8
  VERSION = [MAJOR, MINOR, PATCH].join(".")
9
9
  end
10
10
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
 
4
4
  describe Correios::Frete::Calculador do
5
5
  describe ".new" do
6
- context "create with default value of" do
6
+ context "creates with default value of" do
7
7
  before(:each) { @frete = Correios::Frete::Calculador.new }
8
8
 
9
9
  { :peso => 0.0,
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
 
4
4
  describe Correios::Frete::PacoteItem do
5
5
  describe ".new" do
6
- context "create with default value of" do
6
+ context "creates with default value of" do
7
7
  before(:each) { @item = Correios::Frete::PacoteItem.new }
8
8
 
9
9
  { :peso => 0.0,
@@ -5,7 +5,7 @@ describe Correios::Frete::Pacote do
5
5
  before(:each) { @pacote = Correios::Frete::Pacote.new }
6
6
 
7
7
  describe ".new" do
8
- context "create with default value of" do
8
+ context "creates with default value of" do
9
9
  { :peso => 0.0,
10
10
  :comprimento => 0.0,
11
11
  :altura => 0.0,
@@ -20,6 +20,36 @@ describe Correios::Frete::Pacote do
20
20
  @pacote.itens.should be_empty
21
21
  end
22
22
  end
23
+
24
+ context "when items are supplied" do
25
+ context "as PacoteItem" do
26
+ it "adds in items" do
27
+ itens = [Correios::Frete::PacoteItem.new, Correios::Frete::PacoteItem.new]
28
+ pacote = Correios::Frete::Pacote.new(itens)
29
+
30
+ pacote.itens.each_with_index do |item, i|
31
+ item.should == itens[i]
32
+ end
33
+ end
34
+ end
35
+
36
+ context "as Hash" do
37
+ it "adds new items" do
38
+ itens = [
39
+ { :peso => 0.3, :comprimento => 30, :largura => 15, :altura => 2 },
40
+ { :peso => 0.7, :comprimento => 70, :largura => 25, :altura => 3 }
41
+ ]
42
+ pacote = Correios::Frete::Pacote.new(itens)
43
+
44
+ pacote.itens.each_with_index do |item, i|
45
+ item.peso.should == itens[i][:peso]
46
+ item.comprimento.should == itens[i][:comprimento]
47
+ item.largura.should == itens[i][:largura]
48
+ item.altura.should == itens[i][:altura]
49
+ end
50
+ end
51
+ end
52
+ end
23
53
  end
24
54
 
25
55
  describe "#formato" do
@@ -44,8 +74,8 @@ describe Correios::Frete::Pacote do
44
74
 
45
75
  @pacote.itens.first.peso.should == params[:peso]
46
76
  @pacote.itens.first.comprimento.should == params[:comprimento]
47
- @pacote.itens.first.altura.should == params[:altura]
48
77
  @pacote.itens.first.largura.should == params[:largura]
78
+ @pacote.itens.first.altura.should == params[:altura]
49
79
  end
50
80
  end
51
81
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: correios-frete
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.5.0
5
+ version: 1.5.1
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: 2012-01-25 00:00:00 Z
13
+ date: 2012-01-26 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: log-me
@@ -113,7 +113,6 @@ dependencies:
113
113
  version_requirements: *id009
114
114
  description: |-
115
115
  Calculo de frete utilizando o Web Service dos Correios (http://www.correios.com.br/webservices).
116
-
117
116
  Os servicos de frete suportados sao PAC, SEDEX, SEDEX a Cobrar, SEDEX 10, SEDEX Hoje e e-SEDEX.
118
117
  email: prodis@gmail.com
119
118
  executables: []