xeroizer 2.15.5 → 2.15.6

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.
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: