xero_gateway 2.0.13 → 2.0.14
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.
- data/Gemfile +2 -1
- data/README.textile +10 -7
- data/Rakefile +1 -1
- data/lib/xero_gateway.rb +2 -0
- data/lib/xero_gateway/account.rb +5 -5
- data/lib/xero_gateway/address.rb +2 -3
- data/lib/xero_gateway/bank_transaction.rb +175 -0
- data/lib/xero_gateway/contact.rb +1 -1
- data/lib/xero_gateway/credit_note.rb +1 -54
- data/lib/xero_gateway/exceptions.rb +1 -1
- data/lib/xero_gateway/gateway.rb +104 -0
- data/lib/xero_gateway/invoice.rb +8 -61
- data/lib/xero_gateway/line_item_calculations.rb +55 -0
- data/lib/xero_gateway/response.rb +13 -11
- data/test/integration/create_bank_transaction_test.rb +38 -0
- data/test/integration/get_bank_transaction_test.rb +50 -0
- data/test/integration/get_bank_transactions_test.rb +88 -0
- data/test/integration/update_bank_transaction_test.rb +31 -0
- data/test/test_helper.rb +76 -1
- data/test/unit/account_test.rb +15 -3
- data/test/unit/bank_transaction_test.rb +114 -0
- data/test/unit/invoice_test.rb +48 -29
- data/test/unit/oauth_test.rb +13 -4
- data/xero_gateway.gemspec +2 -2
- metadata +48 -75
data/test/unit/account_test.rb
CHANGED
@@ -18,18 +18,30 @@ class AccountTest < Test::Unit::TestCase
|
|
18
18
|
assert_equal account, result_account
|
19
19
|
end
|
20
20
|
|
21
|
+
def test_build_and_parse_xml_for_bank_accounts
|
22
|
+
account = create_test_account(:type => 'BANK', :currency_code => 'NZD')
|
23
|
+
account_as_xml = account.to_xml
|
24
|
+
assert_match 'CurrencyCode', account_as_xml.to_s
|
25
|
+
|
26
|
+
account_element = REXML::XPath.first(REXML::Document.new(account_as_xml), "/Account")
|
27
|
+
result_account = XeroGateway::Account.from_xml(account_element)
|
28
|
+
assert_equal 'BANK', result_account.type
|
29
|
+
assert_equal 'NZD', result_account.currency_code
|
30
|
+
assert_equal account, result_account
|
31
|
+
end
|
21
32
|
|
22
33
|
private
|
23
34
|
|
24
|
-
def create_test_account
|
35
|
+
def create_test_account(options={})
|
25
36
|
account = XeroGateway::Account.new(:account_id => "57cedda9")
|
26
37
|
account.code = "200"
|
27
38
|
account.name = "Sales"
|
28
|
-
account.type = "REVENUE"
|
39
|
+
account.type = options[:type] || "REVENUE"
|
29
40
|
account.tax_type = "OUTPUT"
|
30
41
|
account.description = "Income from any normal business activity"
|
31
42
|
account.enable_payments_to_account = false
|
32
|
-
|
43
|
+
account.currency_code = options[:currency_code] if options[:currency_code]
|
44
|
+
|
33
45
|
account
|
34
46
|
end
|
35
47
|
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '../test_helper.rb')
|
2
|
+
|
3
|
+
class BankTransactionTest < Test::Unit::TestCase
|
4
|
+
include TestHelper
|
5
|
+
|
6
|
+
context "creating test bank transactions" do
|
7
|
+
should "work" do
|
8
|
+
bank_transaction = create_test_bank_transaction
|
9
|
+
|
10
|
+
# test transaction defaults
|
11
|
+
assert_equal 'RECEIVE', bank_transaction.type
|
12
|
+
assert_kind_of Date, bank_transaction.date
|
13
|
+
assert_equal '12345', bank_transaction.reference
|
14
|
+
assert_equal 'ACTIVE', bank_transaction.status
|
15
|
+
|
16
|
+
# Test the contact defaults.
|
17
|
+
contact = bank_transaction.contact
|
18
|
+
assert_equal '00000000-0000-0000-0000-000000000000', contact.contact_id
|
19
|
+
assert_equal 'CONTACT NAME', contact.name
|
20
|
+
|
21
|
+
# Test address defaults.
|
22
|
+
assert_equal 'STREET', contact.address.address_type
|
23
|
+
assert_equal 'LINE 1 OF THE ADDRESS', contact.address.line_1
|
24
|
+
|
25
|
+
# Test phone defaults.
|
26
|
+
assert_equal('DEFAULT', contact.phone.phone_type)
|
27
|
+
assert_equal('12345678', contact.phone.number)
|
28
|
+
|
29
|
+
# Test the line_item defaults.
|
30
|
+
line_item = bank_transaction.line_items.first
|
31
|
+
assert_equal('A LINE ITEM', line_item.description)
|
32
|
+
assert_equal('200', line_item.account_code)
|
33
|
+
assert_equal(BigDecimal.new('100'), line_item.unit_amount)
|
34
|
+
assert_equal(BigDecimal.new('12.5'), line_item.tax_amount)
|
35
|
+
end
|
36
|
+
|
37
|
+
should "allow overriding transaction defaults" do
|
38
|
+
assert_equal 'SPEND', create_test_bank_transaction(:type => 'SPEND').type
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context "adding line items" do
|
43
|
+
setup do
|
44
|
+
@bank_transaction = create_test_bank_transaction({}, {}, nil) # no line_items
|
45
|
+
end
|
46
|
+
|
47
|
+
should "work" do
|
48
|
+
assert_equal(0, @bank_transaction.line_items.size)
|
49
|
+
|
50
|
+
line_item_params = {:description => "Test Item 1", :unit_amount => 100}
|
51
|
+
|
52
|
+
# Test adding line item by hash
|
53
|
+
line_item = @bank_transaction.add_line_item(line_item_params)
|
54
|
+
assert_kind_of(XeroGateway::LineItem, line_item)
|
55
|
+
assert_equal(line_item_params[:description], line_item.description)
|
56
|
+
assert_equal(line_item_params[:unit_amount], line_item.unit_amount)
|
57
|
+
assert_equal(1, @bank_transaction.line_items.size)
|
58
|
+
|
59
|
+
# Test adding line item by XeroGateway::LineItem
|
60
|
+
line_item = @bank_transaction.add_line_item(line_item_params)
|
61
|
+
assert_kind_of(XeroGateway::LineItem, line_item)
|
62
|
+
assert_equal(line_item_params[:description], line_item.description)
|
63
|
+
assert_equal(line_item_params[:unit_amount], line_item.unit_amount)
|
64
|
+
assert_equal(2, @bank_transaction.line_items.size)
|
65
|
+
|
66
|
+
# Test that pushing anything else into add_line_item fails.
|
67
|
+
["invalid", 100, nil, []].each do | invalid_object |
|
68
|
+
assert_raise(XeroGateway::Invoice::InvalidLineItemError) { @bank_transaction.add_line_item(invalid_object) }
|
69
|
+
assert_equal(2, @bank_transaction.line_items.size)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
context "building and parsing XML" do
|
76
|
+
should "work vice versa" do
|
77
|
+
bank_transaction = create_test_bank_transaction
|
78
|
+
bank_transaction_as_xml = bank_transaction.to_xml
|
79
|
+
bank_transaction_element = REXML::XPath.first(REXML::Document.new(bank_transaction_as_xml), "/BankTransaction")
|
80
|
+
|
81
|
+
# checking for mandatory fields
|
82
|
+
assert_xml_field bank_transaction_element, 'Type', :value => 'RECEIVE'
|
83
|
+
assert_xml_field bank_transaction_element, 'Date'
|
84
|
+
assert_xml_field bank_transaction_element, 'Reference', :value => '12345'
|
85
|
+
assert_xml_field bank_transaction_element, 'Status', :value => 'ACTIVE'
|
86
|
+
assert_xml_field bank_transaction_element, 'Contact', :value => 'CONTACT NAME'
|
87
|
+
assert_xml_field bank_transaction_element, 'LineItems', :value => 'A LINE ITEM'
|
88
|
+
assert_xml_field bank_transaction_element, 'BankAccount'
|
89
|
+
|
90
|
+
parsed_bank_transaction = XeroGateway::BankTransaction.from_xml(bank_transaction_element)
|
91
|
+
assert_equal(bank_transaction, parsed_bank_transaction)
|
92
|
+
end
|
93
|
+
|
94
|
+
should "work for optional params" do
|
95
|
+
bank_transaction = create_test_bank_transaction(:url => 'http://example.com?with=params&and=more')
|
96
|
+
bank_transaction_element = REXML::XPath.first(REXML::Document.new(bank_transaction.to_xml), "/BankTransaction")
|
97
|
+
|
98
|
+
assert_xml_field bank_transaction_element, 'Url', :value => 'http://example.com\?with=params&and=more'
|
99
|
+
|
100
|
+
parsed_bank_transaction = XeroGateway::BankTransaction.from_xml(bank_transaction_element)
|
101
|
+
assert_equal 'http://example.com?with=params&and=more', parsed_bank_transaction.url
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
private
|
106
|
+
|
107
|
+
def assert_xml_field(xml, field_name, options={})
|
108
|
+
assert_match /#{field_name}/, xml.to_s, "Didn't find the field #{field_name} in the XML document!"
|
109
|
+
if options[:value]
|
110
|
+
assert_match /#{field_name}.*#{options[:value]}.*#{field_name}/, xml.to_s, "The field #{field_name} was expected to be '#{options[:value]}'!"
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
data/test/unit/invoice_test.rb
CHANGED
@@ -1,39 +1,33 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), '../test_helper.rb')
|
2
2
|
|
3
3
|
class InvoiceTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
# @schema = LibXML::XML::Schema.document(LibXML::XML::Document.file(File.join(File.dirname(__FILE__), '../xsd/create_invoice.xsd')))
|
7
|
-
end
|
8
4
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
# message = invoice.to_xml
|
16
|
-
#
|
17
|
-
# # Check that the document matches the XSD
|
18
|
-
# assert LibXML::XML::Parser.string(message).parse.validate_schema(@schema), "The XML document generated did not validate against the XSD"
|
19
|
-
# end
|
20
|
-
|
21
|
-
# Tests that an invoice can be converted into XML that Xero can understand, and then converted back to an invoice
|
22
|
-
def test_build_and_parse_xml
|
23
|
-
invoice = create_test_invoice
|
24
|
-
|
25
|
-
# Generate the XML message
|
26
|
-
invoice_as_xml = invoice.to_xml
|
5
|
+
context "building and parsing XML" do
|
6
|
+
should "work vice versa" do
|
7
|
+
invoice = create_test_invoice
|
8
|
+
|
9
|
+
# Generate the XML message
|
10
|
+
invoice_as_xml = invoice.to_xml
|
27
11
|
|
28
|
-
|
29
|
-
|
12
|
+
# Parse the XML message and retrieve the invoice element
|
13
|
+
invoice_element = REXML::XPath.first(REXML::Document.new(invoice_as_xml), "/Invoice")
|
30
14
|
|
31
|
-
|
32
|
-
|
15
|
+
# Build a new invoice from the XML
|
16
|
+
result_invoice = XeroGateway::Invoice.from_xml(invoice_element)
|
17
|
+
|
18
|
+
assert_equal(invoice, result_invoice)
|
19
|
+
end
|
33
20
|
|
34
|
-
|
21
|
+
should "work for optional params" do
|
22
|
+
invoice = create_test_invoice(:url => 'http://example.com?with=params&and=more')
|
23
|
+
invoice_element = REXML::XPath.first(REXML::Document.new(invoice.to_xml), "/Invoice")
|
24
|
+
assert_match /<Url>http:\/\/example.com\?with=params&and=more<\/Url>/, invoice_element.to_s
|
25
|
+
|
26
|
+
parsed_invoice = XeroGateway::Invoice.from_xml(invoice_element)
|
27
|
+
assert_equal 'http://example.com?with=params&and=more', parsed_invoice.url
|
28
|
+
end
|
35
29
|
end
|
36
|
-
|
30
|
+
|
37
31
|
# Tests the sub_total calculation and that setting it manually doesn't modify the data.
|
38
32
|
def test_invoice_sub_total_calculation
|
39
33
|
invoice = create_test_invoice
|
@@ -174,6 +168,9 @@ class InvoiceTest < Test::Unit::TestCase
|
|
174
168
|
assert_equal(BigDecimal.new('100'), invoice.line_items.first.unit_amount)
|
175
169
|
assert_equal(BigDecimal.new('12.5'), invoice.line_items.first.tax_amount)
|
176
170
|
|
171
|
+
# Test optional params
|
172
|
+
assert_nil invoice.url
|
173
|
+
|
177
174
|
# Test overriding an invoice parameter (assume works for all).
|
178
175
|
invoice = create_test_invoice({:invoice_type => 'ACCPAY'})
|
179
176
|
assert_equal('ACCPAY', invoice.invoice_type)
|
@@ -241,7 +238,12 @@ class InvoiceTest < Test::Unit::TestCase
|
|
241
238
|
invoice = XeroGateway::Invoice.new
|
242
239
|
assert_equal(invoice.line_amount_types, 'Exclusive')
|
243
240
|
end
|
244
|
-
|
241
|
+
|
242
|
+
def test_optional_params
|
243
|
+
invoice = create_test_invoice(:url => 'http://example.com')
|
244
|
+
assert_equal 'http://example.com', invoice.url
|
245
|
+
end
|
246
|
+
|
245
247
|
private
|
246
248
|
|
247
249
|
def create_test_invoice(invoice_params = {}, contact_params = {}, line_item_params = [])
|
@@ -304,4 +306,21 @@ class InvoiceTest < Test::Unit::TestCase
|
|
304
306
|
|
305
307
|
invoice
|
306
308
|
end
|
309
|
+
|
310
|
+
# NB: Xero no longer appears to provide XSDs for their api, check http://blog.xero.com/developer/api/invoices/
|
311
|
+
#
|
312
|
+
# context "validating against the Xero XSD" do
|
313
|
+
# setup do
|
314
|
+
# # @schema = LibXML::XML::Schema.document(LibXML::XML::Document.file(File.join(File.dirname(__FILE__), '../xsd/create_invoice.xsd')))
|
315
|
+
# end
|
316
|
+
#
|
317
|
+
# should "succeed" do
|
318
|
+
# invoice = create_test_invoice
|
319
|
+
# message = invoice.to_xml
|
320
|
+
#
|
321
|
+
# # Check that the document matches the XSD
|
322
|
+
# assert LibXML::XML::Parser.string(message).parse.validate_schema(@schema), "The XML document generated did not validate against the XSD"
|
323
|
+
# end
|
324
|
+
# end
|
325
|
+
|
307
326
|
end
|
data/test/unit/oauth_test.rb
CHANGED
@@ -42,12 +42,16 @@ class OAuthTest < Test::Unit::TestCase
|
|
42
42
|
xero = XeroGateway::OAuth.new('token', 'secret')
|
43
43
|
consumer = OAuth::Consumer.new('token', 'secret')
|
44
44
|
xero.stubs(:consumer).returns(consumer)
|
45
|
-
|
46
|
-
access_token = mock('access token'
|
45
|
+
|
46
|
+
access_token = mock('access token')
|
47
|
+
access_token.expects(:token).twice.returns('atoken')
|
48
|
+
access_token.expects(:secret).twice.returns('asecret')
|
49
|
+
access_token.stubs(:params).returns({})
|
50
|
+
|
47
51
|
request_token = mock('request token')
|
48
52
|
request_token.expects(:get_access_token).returns(access_token)
|
49
53
|
OAuth::RequestToken.expects(:new).with(consumer, 'rtoken', 'rsecret').returns(request_token)
|
50
|
-
|
54
|
+
|
51
55
|
xero.authorize_from_request('rtoken', 'rsecret')
|
52
56
|
assert xero.access_token.is_a? OAuth::AccessToken
|
53
57
|
assert_equal "atoken", xero.access_token.token
|
@@ -81,9 +85,14 @@ class OAuthTest < Test::Unit::TestCase
|
|
81
85
|
consumer = OAuth::Consumer.new('token', 'secret')
|
82
86
|
xero.stubs(:consumer).returns(consumer)
|
83
87
|
|
84
|
-
access_token = mock('access token'
|
88
|
+
access_token = mock('access token')
|
89
|
+
access_token.expects(:token).twice.returns('atoken')
|
90
|
+
access_token.expects(:secret).twice.returns('asecret')
|
91
|
+
access_token.stubs(:params).returns({})
|
92
|
+
|
85
93
|
request_token = mock('request token')
|
86
94
|
request_token.expects(:get_access_token).with(:oauth_verifier => "verifier").returns(access_token)
|
95
|
+
|
87
96
|
OAuth::RequestToken.expects(:new).with(consumer, 'rtoken', 'rsecret').returns(request_token)
|
88
97
|
|
89
98
|
xero.authorize_from_request('rtoken', 'rsecret', :oauth_verifier => "verifier")
|
data/xero_gateway.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "xero_gateway"
|
3
|
-
s.version = "2.0.
|
4
|
-
s.date = "
|
3
|
+
s.version = "2.0.14"
|
4
|
+
s.date = "2012-05-07"
|
5
5
|
s.summary = "Enables ruby based applications to communicate with the Xero API"
|
6
6
|
s.email = "tim@connorsoftware.com"
|
7
7
|
s.homepage = "http://github.com/tlconnor/xero_gateway"
|
metadata
CHANGED
@@ -1,79 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: xero_gateway
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.14
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 0
|
9
|
-
- 13
|
10
|
-
version: 2.0.13
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Tim Connor
|
14
9
|
- Nik Wakelin
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
dependencies:
|
22
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-05-07 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
23
16
|
name: builder
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70356902601560 !ruby/object:Gem::Requirement
|
26
18
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
hash: 15
|
31
|
-
segments:
|
32
|
-
- 2
|
33
|
-
- 1
|
34
|
-
- 2
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
35
22
|
version: 2.1.2
|
36
23
|
type: :runtime
|
37
|
-
version_requirements: *id001
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: oauth
|
40
24
|
prerelease: false
|
41
|
-
|
25
|
+
version_requirements: *70356902601560
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: oauth
|
28
|
+
requirement: &70356902601080 !ruby/object:Gem::Requirement
|
42
29
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
hash: 31
|
47
|
-
segments:
|
48
|
-
- 0
|
49
|
-
- 3
|
50
|
-
- 6
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
51
33
|
version: 0.3.6
|
52
34
|
type: :runtime
|
53
|
-
version_requirements: *id002
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: activesupport
|
56
35
|
prerelease: false
|
57
|
-
|
36
|
+
version_requirements: *70356902601080
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: activesupport
|
39
|
+
requirement: &70356902600700 !ruby/object:Gem::Requirement
|
58
40
|
none: false
|
59
|
-
requirements:
|
60
|
-
- -
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
|
63
|
-
segments:
|
64
|
-
- 0
|
65
|
-
version: "0"
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
66
45
|
type: :runtime
|
67
|
-
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70356902600700
|
68
48
|
description: Enables ruby based applications to communicate with the Xero API
|
69
49
|
email: tim@connorsoftware.com
|
70
50
|
executables: []
|
71
|
-
|
72
51
|
extensions: []
|
73
|
-
|
74
52
|
extra_rdoc_files: []
|
75
|
-
|
76
|
-
files:
|
53
|
+
files:
|
77
54
|
- Gemfile
|
78
55
|
- LICENSE
|
79
56
|
- Rakefile
|
@@ -86,6 +63,7 @@ files:
|
|
86
63
|
- lib/xero_gateway/account.rb
|
87
64
|
- lib/xero_gateway/accounts_list.rb
|
88
65
|
- lib/xero_gateway/address.rb
|
66
|
+
- lib/xero_gateway/bank_transaction.rb
|
89
67
|
- lib/xero_gateway/contact.rb
|
90
68
|
- lib/xero_gateway/credit_note.rb
|
91
69
|
- lib/xero_gateway/currency.rb
|
@@ -97,6 +75,7 @@ files:
|
|
97
75
|
- lib/xero_gateway/http_encoding_helper.rb
|
98
76
|
- lib/xero_gateway/invoice.rb
|
99
77
|
- lib/xero_gateway/line_item.rb
|
78
|
+
- lib/xero_gateway/line_item_calculations.rb
|
100
79
|
- lib/xero_gateway/money.rb
|
101
80
|
- lib/xero_gateway/oauth.rb
|
102
81
|
- lib/xero_gateway/organisation.rb
|
@@ -109,10 +88,13 @@ files:
|
|
109
88
|
- lib/xero_gateway/tracking_category.rb
|
110
89
|
- lib/xero_gateway.rb
|
111
90
|
- test/integration/accounts_list_test.rb
|
91
|
+
- test/integration/create_bank_transaction_test.rb
|
112
92
|
- test/integration/create_contact_test.rb
|
113
93
|
- test/integration/create_credit_note_test.rb
|
114
94
|
- test/integration/create_invoice_test.rb
|
115
95
|
- test/integration/get_accounts_test.rb
|
96
|
+
- test/integration/get_bank_transaction_test.rb
|
97
|
+
- test/integration/get_bank_transactions_test.rb
|
116
98
|
- test/integration/get_contact_test.rb
|
117
99
|
- test/integration/get_contacts_test.rb
|
118
100
|
- test/integration/get_credit_note_test.rb
|
@@ -123,10 +105,12 @@ files:
|
|
123
105
|
- test/integration/get_organisation_test.rb
|
124
106
|
- test/integration/get_tax_rates_test.rb
|
125
107
|
- test/integration/get_tracking_categories_test.rb
|
108
|
+
- test/integration/update_bank_transaction_test.rb
|
126
109
|
- test/integration/update_contact_test.rb
|
127
110
|
- test/integration/update_invoice_test.rb
|
128
111
|
- test/test_helper.rb
|
129
112
|
- test/unit/account_test.rb
|
113
|
+
- test/unit/bank_transaction_test.rb
|
130
114
|
- test/unit/contact_test.rb
|
131
115
|
- test/unit/credit_note_test.rb
|
132
116
|
- test/unit/currency_test.rb
|
@@ -137,39 +121,28 @@ files:
|
|
137
121
|
- test/unit/tax_rate_test.rb
|
138
122
|
- test/unit/tracking_category_test.rb
|
139
123
|
- lib/xero_gateway/ca-certificates.crt
|
140
|
-
has_rdoc: true
|
141
124
|
homepage: http://github.com/tlconnor/xero_gateway
|
142
125
|
licenses: []
|
143
|
-
|
144
126
|
post_install_message:
|
145
127
|
rdoc_options: []
|
146
|
-
|
147
|
-
require_paths:
|
128
|
+
require_paths:
|
148
129
|
- lib
|
149
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
131
|
none: false
|
151
|
-
requirements:
|
152
|
-
- -
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
|
155
|
-
|
156
|
-
- 0
|
157
|
-
version: "0"
|
158
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0'
|
136
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
137
|
none: false
|
160
|
-
requirements:
|
161
|
-
- -
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
|
164
|
-
segments:
|
165
|
-
- 0
|
166
|
-
version: "0"
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
167
142
|
requirements: []
|
168
|
-
|
169
143
|
rubyforge_project:
|
170
|
-
rubygems_version: 1.
|
144
|
+
rubygems_version: 1.8.10
|
171
145
|
signing_key:
|
172
146
|
specification_version: 3
|
173
147
|
summary: Enables ruby based applications to communicate with the Xero API
|
174
148
|
test_files: []
|
175
|
-
|