rconomic 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -87,7 +87,7 @@ module Economic
87
87
  data['DebtorCountry'] = debtor_country unless debtor_country.blank?
88
88
  data['Date'] = date.iso8601 unless date.blank?
89
89
  data['TermOfPaymentHandle'] = { 'Id' => term_of_payment_handle[:id] } unless term_of_payment_handle.blank?
90
- data['DueDate'] = due_date.iso8601 unless due_date.blank?
90
+ data['DueDate'] = (due_date.blank? ? nil : due_date.iso8601)
91
91
  data['CurrencyHandle'] = { 'Code' => currency_handle[:code] } unless currency_handle.blank?
92
92
  data['ExchangeRate'] = exchange_rate
93
93
  data['IsVatIncluded'] = is_vat_included
@@ -29,6 +29,8 @@ module Economic
29
29
  entity.update_properties(properties)
30
30
  entity.partial = false
31
31
 
32
+ self.append(entity)
33
+
32
34
  entity
33
35
  end
34
36
 
@@ -57,10 +59,11 @@ module Economic
57
59
  entity_hash
58
60
  end
59
61
 
60
- # Add item to proxy
61
- def <<(item)
62
- items << item
62
+ # Adds item to proxy unless item already exists in the proxy
63
+ def append(item)
64
+ items << item unless items.include?(item)
63
65
  end
66
+ alias :<< :append
64
67
 
65
68
  def each
66
69
  items.each { |i| yield i }
@@ -70,5 +73,10 @@ module Economic
70
73
  items.empty?
71
74
  end
72
75
 
76
+ # Returns the number of entities in proxy
77
+ def size
78
+ items.size
79
+ end
80
+
73
81
  end
74
82
  end
@@ -1,3 +1,3 @@
1
1
  module Rconomic
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -15,6 +15,15 @@ describe Economic::CurrentInvoiceLineProxy do
15
15
  end
16
16
  end
17
17
 
18
+ describe ".append" do
19
+ it "ignores duplicated lines" do
20
+ line = Economic::CurrentInvoiceLine.new
21
+ subject.append(line)
22
+ subject.append(line)
23
+ subject.items.should == [line]
24
+ end
25
+ end
26
+
18
27
  describe ".build" do
19
28
  it "instantiates a new CurrentInvoiceLine" do
20
29
  subject.build.should be_instance_of(Economic::CurrentInvoiceLine)
@@ -28,6 +37,11 @@ describe Economic::CurrentInvoiceLineProxy do
28
37
  subject.build.should_not be_partial
29
38
  end
30
39
 
40
+ it "adds the built line to proxy items" do
41
+ line = subject.build
42
+ subject.items.should == [line]
43
+ end
44
+
31
45
  context "when owner is a CurrentInvoice" do
32
46
  subject { invoice.lines }
33
47
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rconomic
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 0
10
- version: 0.2.0
9
+ - 1
10
+ version: 0.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jakob Skjerning
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-09 00:00:00 Z
18
+ date: 2011-08-12 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: savon