xeroizer 2.15.5 → 2.15.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/README.md +14 -3
  2. data/lib/xeroizer.rb +5 -0
  3. data/lib/xeroizer/generic_application.rb +15 -9
  4. data/lib/xeroizer/http.rb +44 -34
  5. data/lib/xeroizer/models/account.rb +15 -11
  6. data/lib/xeroizer/models/allocation.rb +13 -0
  7. data/lib/xeroizer/models/attachment.rb +93 -0
  8. data/lib/xeroizer/models/bank_transaction.rb +3 -2
  9. data/lib/xeroizer/models/contact.rb +20 -12
  10. data/lib/xeroizer/models/contact_person.rb +20 -0
  11. data/lib/xeroizer/models/credit_note.rb +2 -0
  12. data/lib/xeroizer/models/expense_claim.rb +29 -0
  13. data/lib/xeroizer/models/invoice.rb +42 -29
  14. data/lib/xeroizer/models/line_item.rb +1 -0
  15. data/lib/xeroizer/models/organisation.rb +6 -1
  16. data/lib/xeroizer/models/payment.rb +16 -11
  17. data/lib/xeroizer/models/receipt.rb +39 -0
  18. data/lib/xeroizer/models/tax_component.rb +13 -0
  19. data/lib/xeroizer/models/tax_rate.rb +14 -3
  20. data/lib/xeroizer/models/user.rb +26 -0
  21. data/lib/xeroizer/oauth.rb +3 -3
  22. data/lib/xeroizer/record/base.rb +40 -31
  23. data/lib/xeroizer/record/base_model.rb +31 -25
  24. data/lib/xeroizer/record/base_model_http_proxy.rb +4 -1
  25. data/lib/xeroizer/record/record_association_helper.rb +35 -35
  26. data/lib/xeroizer/record/xml_helper.rb +1 -1
  27. data/lib/xeroizer/report/factory.rb +2 -1
  28. data/lib/xeroizer/version.rb +3 -0
  29. data/test/stub_responses/organisation.xml +30 -0
  30. data/test/stub_responses/tax_rates.xml +81 -1
  31. data/test/stub_responses/users.xml +17 -0
  32. data/test/unit/generic_application_test.rb +21 -0
  33. data/test/unit/http_test.rb +18 -0
  34. data/test/unit/models/bank_transaction_test.rb +1 -4
  35. data/test/unit/models/line_item_sum_test.rb +3 -2
  36. data/test/unit/models/tax_rate_test.rb +81 -0
  37. data/test/unit/oauth_test.rb +4 -2
  38. data/test/unit/record/base_test.rb +1 -1
  39. data/test/unit/record/model_definition_test.rb +9 -3
  40. data/test/unit/record/record_association_test.rb +1 -1
  41. data/test/unit/record_definition_test.rb +1 -1
  42. metadata +540 -205
  43. data/.bundle/config +0 -2
  44. data/.gitattributes +0 -22
  45. data/Gemfile +0 -20
  46. data/Gemfile.lock +0 -59
  47. data/Rakefile +0 -55
  48. data/VERSION +0 -1
  49. data/xeroizer.gemspec +0 -409
@@ -4,16 +4,13 @@ class BankTransactionTest < Test::Unit::TestCase
4
4
  include Xeroizer::Record
5
5
 
6
6
  def setup
7
- fake_parent = Class.new do
8
- attr_accessor :application
9
- end.new
10
7
 
11
8
  the_line_items = [
12
9
  LineItem.build({:quantity => 1, :tax_amount => 0.15, :unit_amount => 1.00, :tax_amount => 0.50}, nil),
13
10
  LineItem.build({:quantity => 1, :tax_amount => 0.15, :unit_amount => 1.00, :tax_amount => 0.50}, nil)
14
11
  ]
15
12
 
16
- @the_bank_transaction = BankTransaction.new fake_parent
13
+ @the_bank_transaction = BankTransaction.new(nil)
17
14
  @the_bank_transaction.line_items = the_line_items
18
15
  end
19
16
 
@@ -4,9 +4,10 @@ class LineItemSumTest < Test::Unit::TestCase
4
4
  include Xeroizer::Record
5
5
 
6
6
  def setup
7
+ parent = stub(:application => nil, :mark_dirty => nil)
7
8
  @the_line_items = [
8
- LineItem.build({:quantity => 1, :unit_amount => 1.00, :tax_amount => 0.15}, nil),
9
- LineItem.build({:quantity => 1, :unit_amount => 1.00, :tax_amount => 0.30}, nil)
9
+ LineItem.build({:quantity => 1, :unit_amount => 1.00, :tax_amount => 0.15}, parent),
10
+ LineItem.build({:quantity => 1, :unit_amount => 1.00, :tax_amount => 0.30}, parent),
10
11
  ]
11
12
  end
12
13
 
@@ -0,0 +1,81 @@
1
+ require 'test_helper'
2
+ require 'mocha/test_unit'
3
+
4
+ class TaxRateTest < Test::Unit::TestCase
5
+ include TestHelper
6
+
7
+ def setup
8
+ @client = Xeroizer::PublicApplication.new(CONSUMER_KEY, CONSUMER_SECRET)
9
+ end
10
+
11
+ should "have a primary key value of :tax_type" do
12
+ assert_equal :tax_type, Xeroizer::Record::TaxRate.primary_key_name
13
+ end
14
+
15
+ should "build and save a tax rate with components via PUT" do
16
+ @client.expects(:http_put).with { |client, url, body, extra_params|
17
+ url == "https://api.xero.com/api.xro/2.0/TaxRates" &&
18
+ body == expected_tax_rate_create_body
19
+ }.returns(tax_rate_create_successful_response)
20
+
21
+ tax_rate = @client.TaxRate.build(name: 'Test Tax Rate')
22
+ tax_rate.add_tax_component(name: 'Tax Component', rate: '10.0')
23
+ tax_rate.save
24
+
25
+ assert_equal "Test Tax Rate", tax_rate.name
26
+ assert_equal "ACTIVE", tax_rate.status
27
+ assert tax_rate.tax_type.present?
28
+ assert_equal 1, tax_rate.tax_components.size
29
+
30
+ tax_component = tax_rate.tax_components.first
31
+ assert_equal "Tax Component", tax_component.name
32
+ assert_equal "10.0", tax_component.rate.to_s
33
+ end
34
+
35
+ def expected_tax_rate_create_body
36
+ <<-EOS
37
+ <TaxRate>
38
+ <Name>Test Tax Rate</Name>
39
+ <TaxComponents>
40
+ <TaxComponent>
41
+ <Name>Tax Component</Name>
42
+ <Rate>10.0</Rate>
43
+ </TaxComponent>
44
+ </TaxComponents>
45
+ </TaxRate>
46
+ EOS
47
+ end
48
+
49
+ def tax_rate_create_successful_response
50
+ <<-EOS
51
+ <Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
52
+ <Id>d1ec84aa-189f-4e08-b78f-ad62cf4935f4</Id>
53
+ <Status>OK</Status>
54
+ <ProviderName>Xero API Previewer</ProviderName>
55
+ <DateTimeUTC>2014-07-02T19:26:53.3217153Z</DateTimeUTC>
56
+ <TaxRates>
57
+ <TaxRate>
58
+ <Name>Test Tax Rate</Name>
59
+ <TaxType>TAX018</TaxType>
60
+ <CanApplyToAssets>true</CanApplyToAssets>
61
+ <CanApplyToEquity>true</CanApplyToEquity>
62
+ <CanApplyToExpenses>true</CanApplyToExpenses>
63
+ <CanApplyToLiabilities>true</CanApplyToLiabilities>
64
+ <CanApplyToRevenue>true</CanApplyToRevenue>
65
+ <DisplayTaxRate>10.0000</DisplayTaxRate>
66
+ <EffectiveRate>10.0000</EffectiveRate>
67
+ <Status>ACTIVE</Status>
68
+ <TaxComponents>
69
+ <TaxComponent>
70
+ <Name>Tax Component</Name>
71
+ <Rate>10.0000</Rate>
72
+ <IsCompound>false</IsCompound>
73
+ </TaxComponent>
74
+ </TaxComponents>
75
+ </TaxRate>
76
+ </TaxRates>
77
+ </Response>
78
+ EOS
79
+ end
80
+
81
+ end
@@ -75,7 +75,8 @@ class OAuthTest < Test::Unit::TestCase
75
75
  end
76
76
 
77
77
  should "handle ApiExceptions" do
78
- Xeroizer::OAuth.any_instance.stubs(:put).returns(stub(:plain_body => get_file_as_string("api_exception.xml"), :code => "400"))
78
+ Xeroizer::OAuth.any_instance.stubs(:post).returns(stub(:plain_body => get_file_as_string("api_exception.xml"),
79
+ :code => "400"))
79
80
 
80
81
  assert_raises Xeroizer::ApiException do
81
82
  contact = @client.Contact.build(:name => 'Test Contact')
@@ -84,7 +85,8 @@ class OAuthTest < Test::Unit::TestCase
84
85
  end
85
86
 
86
87
  should "handle random root elements" do
87
- Xeroizer::OAuth.any_instance.stubs(:put).returns(stub(:plain_body => "<RandomRootElement></RandomRootElement>", :code => "200"))
88
+ Xeroizer::OAuth.any_instance.stubs(:post).returns(stub(:plain_body => "<RandomRootElement></RandomRootElement>",
89
+ :code => "200"))
88
90
 
89
91
  assert_raises Xeroizer::UnparseableResponse do
90
92
  contact = @client.Contact.build(:name => 'Test Contact')
@@ -33,7 +33,7 @@ class RecordBaseTest < Test::Unit::TestCase
33
33
  end
34
34
 
35
35
  should "new_record? should be false after successfully creating a record" do
36
- Xeroizer::OAuth.any_instance.stubs(:put).returns(stub(:plain_body => get_record_xml(:contact), :code => '200'))
36
+ Xeroizer::OAuth.any_instance.stubs(:post).returns(stub(:plain_body => get_record_xml(:contact), :code => '200'))
37
37
  assert_equal(true, @contact.new_record?)
38
38
  assert_nil(@contact.contact_id)
39
39
  assert_equal(true, @contact.save, "Error saving contact: #{@contact.errors.inspect}")
@@ -16,6 +16,7 @@ class ModelDefinitionsTest < Test::Unit::TestCase
16
16
  datetime :datetime1
17
17
 
18
18
  end
19
+ class Xeroizer::Record::FirstRecordModel < Xeroizer::Record::BaseModel; end
19
20
 
20
21
  class SecondRecord < Xeroizer::Record::Base
21
22
 
@@ -30,6 +31,7 @@ class ModelDefinitionsTest < Test::Unit::TestCase
30
31
  datetime :datetime2
31
32
 
32
33
  end
34
+ class Xeroizer::Record::SecondRecordModel < Xeroizer::Record::BaseModel; end
33
35
 
34
36
  class TestRecord < Xeroizer::Record::Base
35
37
 
@@ -37,8 +39,10 @@ class ModelDefinitionsTest < Test::Unit::TestCase
37
39
  string :name
38
40
 
39
41
  end
42
+ class Xeroizer::Record::TestRecordModel < Xeroizer::Record::BaseModel; end
40
43
 
41
44
  class SummaryOnlyRecord < Xeroizer::Record::Base
45
+ class Xeroizer::Record::SummaryOnlyRecordModel < Xeroizer::Record::BaseModel; end
42
46
 
43
47
  list_contains_summary_only true
44
48
  set_possible_primary_keys :primary_key_id
@@ -49,6 +53,7 @@ class ModelDefinitionsTest < Test::Unit::TestCase
49
53
  end
50
54
 
51
55
  class SummaryOnlyOffRecord < Xeroizer::Record::Base
56
+ class Xeroizer::Record::SummaryOnlyOffRecordModel < Xeroizer::Record::BaseModel; end
52
57
 
53
58
  set_possible_primary_keys :primary_key_id
54
59
  set_primary_key :primary_key_id
@@ -59,8 +64,9 @@ class ModelDefinitionsTest < Test::Unit::TestCase
59
64
 
60
65
  def setup
61
66
  @client = Xeroizer::PublicApplication.new(CONSUMER_KEY, CONSUMER_SECRET)
62
- @first = FirstRecord.new(@client)
63
- @second = SecondRecord.new(@client)
67
+ parent = stub(:application => @client, :mark_dirty => nil)
68
+ @first = FirstRecord.new(parent)
69
+ @second = SecondRecord.new(parent)
64
70
  @record = TestRecord.build({}, @client.Contact)
65
71
  @contact = @client.Contact.build
66
72
  end
@@ -93,7 +99,7 @@ class ModelDefinitionsTest < Test::Unit::TestCase
93
99
 
94
100
  should "define primary key with shortcut #id method" do
95
101
  assert_nil(@first.id)
96
- value = "PRIMARKY KEY VALUE"
102
+ value = "PRIMARY KEY VALUE"
97
103
  @first.id = value
98
104
  assert_equal(value, @first.id)
99
105
  assert_equal(value, @first.primary_key_id)
@@ -6,7 +6,7 @@ class RecordAssociationTest < Test::Unit::TestCase
6
6
  def setup
7
7
  @client = Xeroizer::PublicApplication.new(CONSUMER_KEY, CONSUMER_SECRET)
8
8
  mock_api('Invoices')
9
- @client.stubs(:http_put).returns(get_record_xml(:invoice, "762aa45d-4632-45b5-8087-b4f47690665e"))
9
+ @client.stubs(:http_post).returns(get_record_xml(:invoice, "762aa45d-4632-45b5-8087-b4f47690665e"))
10
10
  end
11
11
 
12
12
  context "belongs_to association" do
@@ -13,7 +13,7 @@ class RecordDefinitionTest < Test::Unit::TestCase
13
13
  [
14
14
  :Account, :BrandingTheme, :Contact, :CreditNote, :Currency, :Invoice,
15
15
  :Item, :Journal, :ManualJournal, :Organisation, :Payment, :TaxRate,
16
- :TrackingCategory
16
+ :TrackingCategory, :User
17
17
  ].each do | record_type |
18
18
  record_factory = @client.send(record_type)
19
19
  assert_kind_of(Xeroizer::Record::BaseModel, record_factory)
metadata CHANGED
@@ -1,219 +1,282 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: xeroizer
3
- version: !ruby/object:Gem::Version
4
- hash: 57
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.15.6
5
5
  prerelease:
6
- segments:
7
- - 2
8
- - 15
9
- - 5
10
- version: 2.15.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Wayne Robinson
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-07-04 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: builder
22
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
- none: false
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- hash: 15
28
- segments:
29
- - 2
30
- - 1
31
- - 2
32
- version: 2.1.2
12
+ date: 2014-09-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.5'
22
+ type: :development
33
23
  prerelease: false
34
- type: :runtime
35
- requirement: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: oauth
38
- version_requirements: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - "="
42
- - !ruby/object:Gem::Version
43
- hash: 5
44
- segments:
45
- - 0
46
- - 4
47
- - 5
48
- version: 0.4.5
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.5'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
49
39
  prerelease: false
50
- type: :runtime
51
- requirement: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: activesupport
54
- version_requirements: &id003 !ruby/object:Gem::Requirement
55
- none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 0
62
- version: "0"
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: mocha
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
63
55
  prerelease: false
64
- type: :runtime
65
- requirement: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: tzinfo
68
- version_requirements: &id004 !ruby/object:Gem::Requirement
69
- none: false
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- hash: 3
74
- segments:
75
- - 0
76
- version: "0"
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: shoulda
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
77
71
  prerelease: false
78
- type: :runtime
79
- requirement: *id004
80
- - !ruby/object:Gem::Dependency
81
- name: nokogiri
82
- version_requirements: &id005 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
- version: "0"
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: test-unit
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
91
87
  prerelease: false
92
- type: :runtime
93
- requirement: *id005
94
- - !ruby/object:Gem::Dependency
95
- name: i18n
96
- version_requirements: &id006 !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- hash: 3
102
- segments:
103
- - 0
104
- version: "0"
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rest-client
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
105
103
  prerelease: false
106
- type: :runtime
107
- requirement: *id006
108
- - !ruby/object:Gem::Dependency
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: turn
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: ansi
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: redcarpet
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: yard
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
109
175
  name: builder
110
- version_requirements: &id007 !ruby/object:Gem::Requirement
111
- none: false
112
- requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- hash: 15
116
- segments:
117
- - 2
118
- - 1
119
- - 2
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
120
181
  version: 2.1.2
121
- prerelease: false
122
182
  type: :runtime
123
- requirement: *id007
124
- - !ruby/object:Gem::Dependency
125
- name: oauth
126
- version_requirements: &id008 !ruby/object:Gem::Requirement
127
- none: false
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- hash: 31
132
- segments:
133
- - 0
134
- - 3
135
- - 6
136
- version: 0.3.6
137
183
  prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: 2.1.2
190
+ - !ruby/object:Gem::Dependency
191
+ name: oauth
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: 0.4.5
138
198
  type: :runtime
139
- requirement: *id008
140
- - !ruby/object:Gem::Dependency
141
- name: activesupport
142
- version_requirements: &id009 !ruby/object:Gem::Requirement
143
- none: false
144
- requirements:
145
- - - ">="
146
- - !ruby/object:Gem::Version
147
- hash: 3
148
- segments:
149
- - 0
150
- version: "0"
151
199
  prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: 0.4.5
206
+ - !ruby/object:Gem::Dependency
207
+ name: activesupport
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
152
214
  type: :runtime
153
- requirement: *id009
154
- - !ruby/object:Gem::Dependency
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
155
223
  name: nokogiri
156
- version_requirements: &id010 !ruby/object:Gem::Requirement
157
- none: false
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- hash: 3
162
- segments:
163
- - 0
164
- version: "0"
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
165
231
  prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: tzinfo
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
166
246
  type: :runtime
167
- requirement: *id010
168
- - !ruby/object:Gem::Dependency
169
- name: mocha
170
- version_requirements: &id011 !ruby/object:Gem::Requirement
171
- none: false
172
- requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- hash: 3
176
- segments:
177
- - 0
178
- version: "0"
179
247
  prerelease: false
180
- type: :development
181
- requirement: *id011
182
- - !ruby/object:Gem::Dependency
183
- name: shoulda
184
- version_requirements: &id012 !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
189
- hash: 3
190
- segments:
191
- - 0
192
- version: "0"
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ - !ruby/object:Gem::Dependency
255
+ name: i18n
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - ! '>='
260
+ - !ruby/object:Gem::Version
261
+ version: '0'
262
+ type: :runtime
193
263
  prerelease: false
194
- type: :development
195
- requirement: *id012
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
196
270
  description: Ruby library for the Xero accounting system API.
197
271
  email: wayne.robinson@gmail.com
198
272
  executables: []
199
-
200
273
  extensions: []
201
-
202
- extra_rdoc_files:
203
- - LICENSE.txt
204
- - README.md
205
- files:
206
- - .bundle/config
207
- - .gitattributes
208
- - Gemfile
209
- - Gemfile.lock
274
+ extra_rdoc_files: []
275
+ files:
210
276
  - LICENSE.txt
211
277
  - README.md
212
- - Rakefile
213
- - VERSION
214
278
  - lib/big_decimal_to_s.rb
215
279
  - lib/class_level_inheritable_attributes.rb
216
- - lib/xeroizer.rb
217
280
  - lib/xeroizer/application_http_proxy.rb
218
281
  - lib/xeroizer/ca-certificates.crt
219
282
  - lib/xeroizer/configuration.rb
@@ -224,14 +287,18 @@ files:
224
287
  - lib/xeroizer/logging.rb
225
288
  - lib/xeroizer/models/account.rb
226
289
  - lib/xeroizer/models/address.rb
290
+ - lib/xeroizer/models/allocation.rb
291
+ - lib/xeroizer/models/attachment.rb
227
292
  - lib/xeroizer/models/bank_account.rb
228
293
  - lib/xeroizer/models/bank_transaction.rb
229
294
  - lib/xeroizer/models/branding_theme.rb
230
295
  - lib/xeroizer/models/contact.rb
231
296
  - lib/xeroizer/models/contact_group.rb
297
+ - lib/xeroizer/models/contact_person.rb
232
298
  - lib/xeroizer/models/credit_note.rb
233
299
  - lib/xeroizer/models/currency.rb
234
300
  - lib/xeroizer/models/employee.rb
301
+ - lib/xeroizer/models/expense_claim.rb
235
302
  - lib/xeroizer/models/external_link.rb
236
303
  - lib/xeroizer/models/invoice.rb
237
304
  - lib/xeroizer/models/item.rb
@@ -249,9 +316,12 @@ files:
249
316
  - lib/xeroizer/models/organisation.rb
250
317
  - lib/xeroizer/models/payment.rb
251
318
  - lib/xeroizer/models/phone.rb
319
+ - lib/xeroizer/models/receipt.rb
320
+ - lib/xeroizer/models/tax_component.rb
252
321
  - lib/xeroizer/models/tax_rate.rb
253
322
  - lib/xeroizer/models/tracking_category.rb
254
323
  - lib/xeroizer/models/tracking_category_child.rb
324
+ - lib/xeroizer/models/user.rb
255
325
  - lib/xeroizer/oauth.rb
256
326
  - lib/xeroizer/partner_application.rb
257
327
  - lib/xeroizer/private_application.rb
@@ -281,6 +351,8 @@ files:
281
351
  - lib/xeroizer/report/row/xml_helper.rb
282
352
  - lib/xeroizer/report/xml_helper.rb
283
353
  - lib/xeroizer/response.rb
354
+ - lib/xeroizer/version.rb
355
+ - lib/xeroizer.rb
284
356
  - test/acceptance/about_creating_bank_transactions_test.rb
285
357
  - test/acceptance/about_fetching_bank_transactions_test.rb
286
358
  - test/acceptance/acceptance_test.rb
@@ -516,7 +588,10 @@ files:
516
588
  - test/stub_responses/token_expired
517
589
  - test/stub_responses/tracking_categories.xml
518
590
  - test/stub_responses/unknown_error.xml
591
+ - test/stub_responses/users.xml
519
592
  - test/test_helper.rb
593
+ - test/unit/generic_application_test.rb
594
+ - test/unit/http_test.rb
520
595
  - test/unit/models/bank_transaction_model_parsing_test.rb
521
596
  - test/unit/models/bank_transaction_test.rb
522
597
  - test/unit/models/bank_transaction_validation_test.rb
@@ -526,6 +601,7 @@ files:
526
601
  - test/unit/models/journal_line_test.rb
527
602
  - test/unit/models/line_item_sum_test.rb
528
603
  - test/unit/models/line_item_test.rb
604
+ - test/unit/models/tax_rate_test.rb
529
605
  - test/unit/oauth_config_test.rb
530
606
  - test/unit/oauth_test.rb
531
607
  - test/unit/private_application_test.rb
@@ -539,39 +615,298 @@ files:
539
615
  - test/unit/record_definition_test.rb
540
616
  - test/unit/report_definition_test.rb
541
617
  - test/unit/report_test.rb
542
- - xeroizer.gemspec
543
618
  homepage: http://github.com/waynerobinson/xeroizer
544
- licenses:
619
+ licenses:
545
620
  - MIT
546
621
  post_install_message:
547
622
  rdoc_options: []
548
-
549
- require_paths:
623
+ require_paths:
550
624
  - lib
551
- required_ruby_version: !ruby/object:Gem::Requirement
625
+ required_ruby_version: !ruby/object:Gem::Requirement
552
626
  none: false
553
- requirements:
554
- - - ">="
555
- - !ruby/object:Gem::Version
556
- hash: 3
557
- segments:
627
+ requirements:
628
+ - - ! '>='
629
+ - !ruby/object:Gem::Version
630
+ version: '0'
631
+ segments:
558
632
  - 0
559
- version: "0"
560
- required_rubygems_version: !ruby/object:Gem::Requirement
633
+ hash: 1906039754233718837
634
+ required_rubygems_version: !ruby/object:Gem::Requirement
561
635
  none: false
562
- requirements:
563
- - - ">="
564
- - !ruby/object:Gem::Version
565
- hash: 3
566
- segments:
636
+ requirements:
637
+ - - ! '>='
638
+ - !ruby/object:Gem::Version
639
+ version: '0'
640
+ segments:
567
641
  - 0
568
- version: "0"
642
+ hash: 1906039754233718837
569
643
  requirements: []
570
-
571
644
  rubyforge_project:
572
- rubygems_version: 1.8.25
645
+ rubygems_version: 1.8.29
573
646
  signing_key:
574
647
  specification_version: 3
575
648
  summary: Xero library
576
- test_files: []
577
-
649
+ test_files:
650
+ - test/acceptance/about_creating_bank_transactions_test.rb
651
+ - test/acceptance/about_fetching_bank_transactions_test.rb
652
+ - test/acceptance/acceptance_test.rb
653
+ - test/acceptance/bank_transaction_reference_data.rb
654
+ - test/acceptance/bulk_operations_test.rb
655
+ - test/stub_responses/accounts.xml
656
+ - test/stub_responses/api_exception.xml
657
+ - test/stub_responses/bogus_oauth_error
658
+ - test/stub_responses/branding_themes.xml
659
+ - test/stub_responses/contact.xml
660
+ - test/stub_responses/contacts.xml
661
+ - test/stub_responses/create_credit_note.xml
662
+ - test/stub_responses/create_invoice.xml
663
+ - test/stub_responses/credit_note.xml
664
+ - test/stub_responses/credit_note_not_found_error.xml
665
+ - test/stub_responses/credit_notes.xml
666
+ - test/stub_responses/currencies.xml
667
+ - test/stub_responses/employees.xml
668
+ - test/stub_responses/invalid_api_key_error.xml
669
+ - test/stub_responses/invalid_consumer_key
670
+ - test/stub_responses/invalid_request_token
671
+ - test/stub_responses/invoice.xml
672
+ - test/stub_responses/invoice_not_found_error.xml
673
+ - test/stub_responses/invoices.xml
674
+ - test/stub_responses/items.xml
675
+ - test/stub_responses/manual_journal.xml
676
+ - test/stub_responses/manual_journals.xml
677
+ - test/stub_responses/organisation.xml
678
+ - test/stub_responses/organisations.xml
679
+ - test/stub_responses/payments.xml
680
+ - test/stub_responses/rate_limit_exceeded
681
+ - test/stub_responses/records/contact-043892a1-aef1-4c18-88d8-b8ccb6d31466.xml
682
+ - test/stub_responses/records/contact-09664078-efe2-4a88-89a5-67eac9b0047b.xml
683
+ - test/stub_responses/records/contact-0a4cf37b-a1a8-4753-9ee2-f9207f63a8ff.xml
684
+ - test/stub_responses/records/contact-0e74f929-11b9-4255-a035-1fdfe573e676.xml
685
+ - test/stub_responses/records/contact-0f471ca5-15c9-405e-a1b9-7cc35194b673.xml
686
+ - test/stub_responses/records/contact-13cd4c47-baa6-4f07-93f6-6442310df4bf.xml
687
+ - test/stub_responses/records/contact-158a2667-82ee-43bf-8f33-a6cc9524092d.xml
688
+ - test/stub_responses/records/contact-17465072-6fa3-40bf-bc42-97765d9e1bea.xml
689
+ - test/stub_responses/records/contact-1975b0ed-b7ba-4c61-bae8-2aa6d78b0dee.xml
690
+ - test/stub_responses/records/contact-1b2be6e9-8d58-4da9-aaf8-4fe5471b653c.xml
691
+ - test/stub_responses/records/contact-1c40da58-fe1d-4e97-b729-b2abdae94d9e.xml
692
+ - test/stub_responses/records/contact-258176a5-c622-4394-9c94-6f88c3ea12e5.xml
693
+ - test/stub_responses/records/contact-299dd3a0-a417-4a37-8a04-2f55e91963e5.xml
694
+ - test/stub_responses/records/contact-2be39278-5154-4ed1-8eb0-676f25acfc66.xml
695
+ - test/stub_responses/records/contact-2e58cff6-488c-4a32-884b-baf848010229.xml
696
+ - test/stub_responses/records/contact-2faccd41-935e-40aa-b74e-e2fc28ac34c3.xml
697
+ - test/stub_responses/records/contact-31af01e7-2ca7-45b9-a500-b02db996568e.xml
698
+ - test/stub_responses/records/contact-344f1113-a25b-4344-b82e-bedeacc17c8e.xml
699
+ - test/stub_responses/records/contact-3e776c4b-ea9e-4bb1-96be-6b0c7a71a37f.xml
700
+ - test/stub_responses/records/contact-3fc1fc6c-e5ff-4e40-b6f3-7eb535637d87.xml
701
+ - test/stub_responses/records/contact-416ab20c-5357-4beb-a740-e8d175d71efb.xml
702
+ - test/stub_responses/records/contact-41a42865-f15a-4fa1-b643-47877608f557.xml
703
+ - test/stub_responses/records/contact-42771b60-19a7-4692-af81-dd9f9b9362d4.xml
704
+ - test/stub_responses/records/contact-451ceb28-9610-44c9-8f35-3225482f2413.xml
705
+ - test/stub_responses/records/contact-4ab343ad-1ebb-4afe-9d48-1814a93c2081.xml
706
+ - test/stub_responses/records/contact-4bb77692-42d4-4565-85a0-8849eb85e039.xml
707
+ - test/stub_responses/records/contact-4dec292f-3ab7-46a8-83e4-5fb5eac42c7f.xml
708
+ - test/stub_responses/records/contact-4e2f192e-8397-4d4d-97ca-a4fc5ac531bf.xml
709
+ - test/stub_responses/records/contact-5188c17c-7786-4436-ad6e-9da2997386d0.xml
710
+ - test/stub_responses/records/contact-52442753-b1c4-40b7-9b79-c33997de5837.xml
711
+ - test/stub_responses/records/contact-565acaa9-e7f3-4fbf-80c3-16b081ddae10.xml
712
+ - test/stub_responses/records/contact-571a2414-81ff-4f8f-8498-d91d83793131.xml
713
+ - test/stub_responses/records/contact-58697449-85ef-46ae-83fc-6a9446f037fb.xml
714
+ - test/stub_responses/records/contact-58bf2ae3-5144-4628-8de2-e165ac2bcdc6.xml
715
+ - test/stub_responses/records/contact-5d41dafd-eb7e-42c1-bd5a-ba3be1da0960.xml
716
+ - test/stub_responses/records/contact-5f005a09-5ce4-4fb4-8096-e69c18be636e.xml
717
+ - test/stub_responses/records/contact-60d578d9-3e10-4aef-b5dc-9d9fd60a3633.xml
718
+ - test/stub_responses/records/contact-62392126-dba4-4a75-b907-5875ebf75259.xml
719
+ - test/stub_responses/records/contact-642c7fb5-e8e5-48e1-a710-39a18c6c3217.xml
720
+ - test/stub_responses/records/contact-64aebf9c-bb89-4b38-b99b-405bd1ece6fd.xml
721
+ - test/stub_responses/records/contact-64eedbc9-1fa0-485a-837f-705f23188161.xml
722
+ - test/stub_responses/records/contact-65e96c9f-1595-4653-9a8a-2a36d49223c2.xml
723
+ - test/stub_responses/records/contact-67d26b93-ccb4-4890-9bf1-284b70ea755d.xml
724
+ - test/stub_responses/records/contact-69d3e538-44b3-4e00-a5f6-7dddcb6e0656.xml
725
+ - test/stub_responses/records/contact-6a8450bc-f81a-4bb0-a8f6-aa4afe9497c7.xml
726
+ - test/stub_responses/records/contact-6c70e424-41d6-4b9b-af3e-b3a9f3589106.xml
727
+ - test/stub_responses/records/contact-6de0b0cf-560c-4503-aab3-e1543c329deb.xml
728
+ - test/stub_responses/records/contact-72dd6a02-396e-42a2-a4d6-cc3fa75dfece.xml
729
+ - test/stub_responses/records/contact-755f1475-d255-43a8-bedc-5ea7fd26c71f.xml
730
+ - test/stub_responses/records/contact-78a9d0a0-3d8c-4f84-af3e-f260bf4a9dc0.xml
731
+ - test/stub_responses/records/contact-79aa39ca-22b0-42c2-9026-78757a29d665.xml
732
+ - test/stub_responses/records/contact-804f4140-5978-48fe-ba20-b56e5b834b18.xml
733
+ - test/stub_responses/records/contact-812d4f28-1681-4241-8e34-d15c5520ba35.xml
734
+ - test/stub_responses/records/contact-860b99a9-0958-4c8d-a98f-bb1f092b16bb.xml
735
+ - test/stub_responses/records/contact-87c8da45-97cc-46be-b170-398da0eacfb8.xml
736
+ - test/stub_responses/records/contact-8a154a19-6c6c-404b-bbc9-6deae2d18251.xml
737
+ - test/stub_responses/records/contact-8bb6931d-2865-44e9-9a23-ed1fb9c7a46c.xml
738
+ - test/stub_responses/records/contact-936c9759-01da-4063-b472-424ab9f48212.xml
739
+ - test/stub_responses/records/contact-9d12a994-9640-4b75-95cc-3de1e9d0ef09.xml
740
+ - test/stub_responses/records/contact-9fe59245-1fbb-4157-93c3-dc97388f3746.xml
741
+ - test/stub_responses/records/contact-a06a7225-6f8a-4522-8400-c534dd43a16e.xml
742
+ - test/stub_responses/records/contact-a76a85fe-73a2-46fa-aba7-791f36103cdb.xml
743
+ - test/stub_responses/records/contact-a93b5f40-0346-4d21-9181-431e129911c0.xml
744
+ - test/stub_responses/records/contact-abf272dd-6b1d-4829-af88-c57bf55855e3.xml
745
+ - test/stub_responses/records/contact-ad24c33b-256b-4157-ad56-cbcf0e8db7b1.xml
746
+ - test/stub_responses/records/contact-b107129d-f4c9-438e-9573-64b778527f4a.xml
747
+ - test/stub_responses/records/contact-b233288a-aa26-4b26-9fc7-779d797dd56f.xml
748
+ - test/stub_responses/records/contact-b2b5333a-2546-4975-891f-d71a8a640d23.xml
749
+ - test/stub_responses/records/contact-b4d149bf-1823-4bd2-96da-9032388c9686.xml
750
+ - test/stub_responses/records/contact-b78d4fd1-4306-4d83-a0b9-61458d1c53a2.xml
751
+ - test/stub_responses/records/contact-b7d108a8-d5f7-4f16-a7c9-26eaed98e8de.xml
752
+ - test/stub_responses/records/contact-baeed0f3-7989-4874-99b3-59f23032cb73.xml
753
+ - test/stub_responses/records/contact-bc51a3a1-b7f6-46ca-ac9e-19b87e6ca100.xml
754
+ - test/stub_responses/records/contact-be9f3aab-52f5-4d9c-94b4-87f7d9e5ee8b.xml
755
+ - test/stub_responses/records/contact-c135f994-01e4-427b-9e15-acfe8a477c16.xml
756
+ - test/stub_responses/records/contact-c14edf75-15e4-4a9c-86e4-f52e2fe7cfa4.xml
757
+ - test/stub_responses/records/contact-ca9b9abc-c2dc-4221-8101-31f464d314cc.xml
758
+ - test/stub_responses/records/contact-cc4db604-9ed8-4eef-8a29-51b5b70496a0.xml
759
+ - test/stub_responses/records/contact-cce9b044-be4a-43b3-9dc7-c027d8dd35b2.xml
760
+ - test/stub_responses/records/contact-d0cd2c4f-18a0-4f7c-a32a-2db00f29d298.xml
761
+ - test/stub_responses/records/contact-d6851dc2-9ed9-4515-bc0b-810b09c06a6a.xml
762
+ - test/stub_responses/records/contact-d6a384fb-f46f-41a3-8ac7-b7bc9e0b5efa.xml
763
+ - test/stub_responses/records/contact-d74e61cf-2ad0-4f0d-b9d1-6a808e3f70cf.xml
764
+ - test/stub_responses/records/contact-d9ab0f61-3b56-4e2b-be39-f33c11bd99e3.xml
765
+ - test/stub_responses/records/contact-dbb1f0b5-a71b-4458-8462-104acd0fec6b.xml
766
+ - test/stub_responses/records/contact-dd981bd6-40dd-496d-a282-bf7d3391b8b9.xml
767
+ - test/stub_responses/records/contact-e1826204-cc0a-42a5-a6d0-4b352d9d5953.xml
768
+ - test/stub_responses/records/contact-e2d955db-f366-42dd-87f7-fbdb4da2306f.xml
769
+ - test/stub_responses/records/contact-e32e2130-3d27-443a-8313-48fffa03cf53.xml
770
+ - test/stub_responses/records/contact-e3a68332-d322-4816-8678-73a537c8cd33.xml
771
+ - test/stub_responses/records/contact-e6ac76a3-ca32-4fa1-8ef9-6a4bf8b0ec2a.xml
772
+ - test/stub_responses/records/contact-e6ca965d-7c48-480e-be39-e847307f474a.xml
773
+ - test/stub_responses/records/contact-e77d1f20-2e8e-46ec-9a10-50335a216724.xml
774
+ - test/stub_responses/records/contact-e8b98c13-a424-41d2-ba0e-7b7621411e7a.xml
775
+ - test/stub_responses/records/contact-e8e9a2c2-3e7e-48ed-8528-c3d61b28f276.xml
776
+ - test/stub_responses/records/contact-eb43fcc6-87ec-4a0a-b243-d718bee4e2cb.xml
777
+ - test/stub_responses/records/contact-ef6f54c1-eb45-4956-b8cd-1be82ad665f2.xml
778
+ - test/stub_responses/records/contact-efdb3600-f233-42e2-8f18-ce7e2a95e4b1.xml
779
+ - test/stub_responses/records/contact-f7eca431-5c97-4d24-93fd-004bb8a6c644.xml
780
+ - test/stub_responses/records/contact-fb078879-5d6d-474f-825f-61dc90689349.xml
781
+ - test/stub_responses/records/contact-fc39b273-4aa2-4785-99ca-24672f6c0000.xml
782
+ - test/stub_responses/records/contact-fc9ec3a6-a2fe-4300-a8cb-ca8a0b3662e0.xml
783
+ - test/stub_responses/records/contact-fdf96102-7491-44b6-bf4d-7a77ff25f890.xml
784
+ - test/stub_responses/records/contact-fe61ead1-8afc-4f0b-beda-066620227aad.xml
785
+ - test/stub_responses/records/credit_note-371cd138-1e5c-4ec1-a8c6-a1c10e8bdab1.xml
786
+ - test/stub_responses/records/credit_note-3bffc09b-79f2-490d-b91b-c59b700b43a4.xml
787
+ - test/stub_responses/records/credit_note-43c678ee-f357-48e2-b192-b6e3634762f9.xml
788
+ - test/stub_responses/records/credit_note-482c018b-d329-4e05-9b4f-7a4cfc695aa0.xml
789
+ - test/stub_responses/records/credit_note-4f67130a-749a-4ee6-98b2-743adbc11245.xml
790
+ - test/stub_responses/records/credit_note-50e98404-2fba-4031-af67-8ba4bb227c44.xml
791
+ - test/stub_responses/records/credit_note-7df8949c-b71f-40c0-bbcf-39f2f450f286.xml
792
+ - test/stub_responses/records/credit_note-b356e488-2678-4be4-ad4b-d294df2d48d6.xml
793
+ - test/stub_responses/records/invoice-0032f627-3156-4d30-9b1c-4d3b994dc921.xml
794
+ - test/stub_responses/records/invoice-00c9511b-24b9-4190-a90a-8abf2fe9f4a0.xml
795
+ - test/stub_responses/records/invoice-024d7994-a26c-4c20-9894-13934840fc31.xml
796
+ - test/stub_responses/records/invoice-0e64a623-c2a1-446a-93ed-eb897f118cbc.xml
797
+ - test/stub_responses/records/invoice-15e88e57-2554-4496-a18e-eb3f5c622345.xml
798
+ - test/stub_responses/records/invoice-166f0588-d0ba-458c-b28a-8edd4c8fc463.xml
799
+ - test/stub_responses/records/invoice-1d1ba340-afa2-4f4c-8ff7-a147bda9a47b.xml
800
+ - test/stub_responses/records/invoice-290ef4c4-baec-492b-b4dd-c102826470ae.xml
801
+ - test/stub_responses/records/invoice-30a87092-31b5-4a2c-831e-327486533dd2.xml
802
+ - test/stub_responses/records/invoice-30dbd181-72a8-43df-b392-4241bf43d5fc.xml
803
+ - test/stub_responses/records/invoice-33e4123e-7cdd-4f05-9a0a-eb8adeb2b868.xml
804
+ - test/stub_responses/records/invoice-387db692-26ac-47e6-b6cc-015343809bda.xml
805
+ - test/stub_responses/records/invoice-3b28bf11-ed2f-4cf4-8e9e-fcae730cc292.xml
806
+ - test/stub_responses/records/invoice-3fcb9847-b350-412e-ab90-7d9d774ad881.xml
807
+ - test/stub_responses/records/invoice-440613e4-4785-4eff-9ba1-c432816cf8c7.xml
808
+ - test/stub_responses/records/invoice-4602eda6-abe9-448e-b65f-ae6bea21f0eb.xml
809
+ - test/stub_responses/records/invoice-46441f63-873f-4cdc-a278-b8fe516f3abb.xml
810
+ - test/stub_responses/records/invoice-4ad1ec01-f4a3-41d7-bbb4-d2ab2fec8e65.xml
811
+ - test/stub_responses/records/invoice-4b9afceb-f7c7-4e64-8aac-7b009971fd52.xml
812
+ - test/stub_responses/records/invoice-4edbf6d5-4e92-43af-bedd-7effc0b86833.xml
813
+ - test/stub_responses/records/invoice-4fad1af2-b871-4ac5-a15a-3c5e32d2e2c4.xml
814
+ - test/stub_responses/records/invoice-52ee4d67-cae4-462c-adb2-182c39017f3d.xml
815
+ - test/stub_responses/records/invoice-54585f46-c1a0-4432-bd4f-c1fae2fba59b.xml
816
+ - test/stub_responses/records/invoice-5613938b-9e27-472e-92ae-3b038b669d10.xml
817
+ - test/stub_responses/records/invoice-5aa9451d-95d1-4f95-a966-bbab2573f71c.xml
818
+ - test/stub_responses/records/invoice-5aadcd34-01a9-4b8d-a2bb-d7cc1de9fa45.xml
819
+ - test/stub_responses/records/invoice-5f6deadf-36a2-495a-9980-ceb11e8af9a9.xml
820
+ - test/stub_responses/records/invoice-625ffe1b-f5d8-438e-a376-981de5f5a733.xml
821
+ - test/stub_responses/records/invoice-64cd559e-8e03-46af-b461-8555285cee71.xml
822
+ - test/stub_responses/records/invoice-666f8dbb-bc9a-476c-8ec4-4665d7f83190.xml
823
+ - test/stub_responses/records/invoice-66fbe37f-49b1-43fd-97ed-85114022cd2f.xml
824
+ - test/stub_responses/records/invoice-673dd7cc-beb7-4697-83d4-0c47cb400cc2.xml
825
+ - test/stub_responses/records/invoice-69fc971e-9b37-41c5-9c87-174330f22343.xml
826
+ - test/stub_responses/records/invoice-70e6db69-e5a4-42c7-a397-aa3212c2945f.xml
827
+ - test/stub_responses/records/invoice-762aa45d-4632-45b5-8087-b4f47690665e.xml
828
+ - test/stub_responses/records/invoice-766d1289-b440-4675-a656-1a0612ecac77.xml
829
+ - test/stub_responses/records/invoice-76bcb361-f93b-4513-b312-5a4af306d276.xml
830
+ - test/stub_responses/records/invoice-76e3f056-479f-417c-a72b-f3d767899b87.xml
831
+ - test/stub_responses/records/invoice-77b338ef-ecc0-4b95-a0d7-2617b0054611.xml
832
+ - test/stub_responses/records/invoice-7be9956d-5316-4f6b-a66a-d355b3f159b2.xml
833
+ - test/stub_responses/records/invoice-7dae876a-b424-436b-a4e6-17b3fdeec80c.xml
834
+ - test/stub_responses/records/invoice-7e862d93-8dab-4856-8b0c-d844e09d750f.xml
835
+ - test/stub_responses/records/invoice-803f70b0-56d9-4157-9787-41df271777a0.xml
836
+ - test/stub_responses/records/invoice-86102312-aa3f-438c-9938-6840f4d8dda6.xml
837
+ - test/stub_responses/records/invoice-8694c9c5-7097-4449-a708-b8c1982921a4.xml
838
+ - test/stub_responses/records/invoice-86d6e00f-ef56-49f7-9a54-796ccd5ca057.xml
839
+ - test/stub_responses/records/invoice-88e77f0f-54a5-4efc-a979-7e22223cc4d7.xml
840
+ - test/stub_responses/records/invoice-8b0ccb6a-d9b7-4da5-8360-ef7fb157b5aa.xml
841
+ - test/stub_responses/records/invoice-935fc854-8037-4111-8d91-993010c331cc.xml
842
+ - test/stub_responses/records/invoice-95ef3000-c764-4ba9-a66a-b6e2d161f839.xml
843
+ - test/stub_responses/records/invoice-962ef33f-c9d2-4602-9b9f-93a02bea23b3.xml
844
+ - test/stub_responses/records/invoice-9868b472-1983-48e9-8edf-7e81ddf2c03a.xml
845
+ - test/stub_responses/records/invoice-9a448e9b-a9fa-4a8b-98f5-6dc892a37374.xml
846
+ - test/stub_responses/records/invoice-a1d04a14-96a8-4067-a0ff-8136990a354f.xml
847
+ - test/stub_responses/records/invoice-a3bc62ef-f11b-4a9c-a4f9-a342bda371b5.xml
848
+ - test/stub_responses/records/invoice-a6894ca0-60ee-4d45-9dd4-b44fcba46ec5.xml
849
+ - test/stub_responses/records/invoice-a77268ce-74b2-483d-a2b3-70dbdc9e49d2.xml
850
+ - test/stub_responses/records/invoice-a9f765e6-b9bc-4505-a47b-fb3ecb327e7b.xml
851
+ - test/stub_responses/records/invoice-aa0173af-8707-4e7f-8dde-4c7a357bd312.xml
852
+ - test/stub_responses/records/invoice-ab63738a-370a-43a5-bfa3-620d684e66d0.xml
853
+ - test/stub_responses/records/invoice-b0344791-5a8a-40dd-a208-d99a461a6c10.xml
854
+ - test/stub_responses/records/invoice-b1e53910-473c-46a3-b3cb-38ece571220e.xml
855
+ - test/stub_responses/records/invoice-b2c02d0b-41a8-4d4d-97d7-014c78b3547d.xml
856
+ - test/stub_responses/records/invoice-b75b3928-ab72-4424-8b93-9cdbbde4cd72.xml
857
+ - test/stub_responses/records/invoice-bcd8a71f-aa31-4d0f-8a01-13ea26363ddf.xml
858
+ - test/stub_responses/records/invoice-bfbb7c45-de02-45e7-b065-d9863ecfb0d8.xml
859
+ - test/stub_responses/records/invoice-c12aff7e-12bf-4185-8702-460929f19674.xml
860
+ - test/stub_responses/records/invoice-c3380b96-976d-4b3e-8b26-8d01eb6a3742.xml
861
+ - test/stub_responses/records/invoice-c963f2b0-cbe1-4abd-9ccc-7e512c942068.xml
862
+ - test/stub_responses/records/invoice-cba46b29-3788-4158-b668-ab10160ccbfe.xml
863
+ - test/stub_responses/records/invoice-d62646b9-d0a9-4fdb-9561-756a8b7eba45.xml
864
+ - test/stub_responses/records/invoice-dba2f021-f149-4191-a126-5351d587ab0e.xml
865
+ - test/stub_responses/records/invoice-de5d9c29-21b3-4342-958b-ed72c4bd7ab0.xml
866
+ - test/stub_responses/records/invoice-e3d96555-2876-4364-a46a-7551a4f52611.xml
867
+ - test/stub_responses/records/invoice-e4a0afbd-aea0-450b-ae23-0ce921e84a77.xml
868
+ - test/stub_responses/records/invoice-e9cb9ecb-58ef-43a8-bd20-69a85338142d.xml
869
+ - test/stub_responses/records/invoice-ec9a6f67-7128-4a63-8ba3-5e516f455f9b.xml
870
+ - test/stub_responses/records/invoice-ed0f2587-84fc-4aef-bc4b-b1a262e24484.xml
871
+ - test/stub_responses/records/invoice-f362ca53-8ade-4047-865a-bb64bee5863d.xml
872
+ - test/stub_responses/records/invoice-f571c38b-5be1-41e1-ad5a-ff6184284beb.xml
873
+ - test/stub_responses/records/invoice-f5832195-5cd3-4660-ad3f-b73d9c64f263.xml
874
+ - test/stub_responses/records/invoice-f9c857eb-64cd-4235-a078-d04b52c77ea7.xml
875
+ - test/stub_responses/records/manual_journal-4765d07b-aa03-4e56-9166-50661958c864.xml
876
+ - test/stub_responses/records/manual_journal-53fc5558-5b76-4ecd-ae5c-c4af3ccde87c.xml
877
+ - test/stub_responses/records/manual_journal-bb6cfcfc-4500-4475-bd3a-93ee512428e0.xml
878
+ - test/stub_responses/records/manual_journal-f00a355b-7374-445c-886b-0437bea4095c.xml
879
+ - test/stub_responses/refresh_responses.rb
880
+ - test/stub_responses/reports/trial_balance.xml
881
+ - test/stub_responses/tax_rates.xml
882
+ - test/stub_responses/token_expired
883
+ - test/stub_responses/tracking_categories.xml
884
+ - test/stub_responses/unknown_error.xml
885
+ - test/stub_responses/users.xml
886
+ - test/test_helper.rb
887
+ - test/unit/generic_application_test.rb
888
+ - test/unit/http_test.rb
889
+ - test/unit/models/bank_transaction_model_parsing_test.rb
890
+ - test/unit/models/bank_transaction_test.rb
891
+ - test/unit/models/bank_transaction_validation_test.rb
892
+ - test/unit/models/contact_test.rb
893
+ - test/unit/models/credit_note_test.rb
894
+ - test/unit/models/invoice_test.rb
895
+ - test/unit/models/journal_line_test.rb
896
+ - test/unit/models/line_item_sum_test.rb
897
+ - test/unit/models/line_item_test.rb
898
+ - test/unit/models/tax_rate_test.rb
899
+ - test/unit/oauth_config_test.rb
900
+ - test/unit/oauth_test.rb
901
+ - test/unit/private_application_test.rb
902
+ - test/unit/record/base_model_test.rb
903
+ - test/unit/record/base_test.rb
904
+ - test/unit/record/block_validator_test.rb
905
+ - test/unit/record/model_definition_test.rb
906
+ - test/unit/record/parse_where_hash_test.rb
907
+ - test/unit/record/record_association_test.rb
908
+ - test/unit/record/validators_test.rb
909
+ - test/unit/record_definition_test.rb
910
+ - test/unit/report_definition_test.rb
911
+ - test/unit/report_test.rb
912
+ has_rdoc: