xero_gateway-float 2.0.15
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 +12 -0
- data/LICENSE +14 -0
- data/README.textile +357 -0
- data/Rakefile +14 -0
- data/examples/oauth.rb +25 -0
- data/examples/partner_app.rb +36 -0
- data/init.rb +1 -0
- data/lib/oauth/oauth_consumer.rb +14 -0
- data/lib/xero_gateway.rb +39 -0
- data/lib/xero_gateway/account.rb +95 -0
- data/lib/xero_gateway/accounts_list.rb +87 -0
- data/lib/xero_gateway/address.rb +96 -0
- data/lib/xero_gateway/bank_transaction.rb +178 -0
- data/lib/xero_gateway/ca-certificates.crt +2560 -0
- data/lib/xero_gateway/contact.rb +206 -0
- data/lib/xero_gateway/credit_note.rb +222 -0
- data/lib/xero_gateway/currency.rb +56 -0
- data/lib/xero_gateway/dates.rb +30 -0
- data/lib/xero_gateway/error.rb +18 -0
- data/lib/xero_gateway/exceptions.rb +46 -0
- data/lib/xero_gateway/gateway.rb +622 -0
- data/lib/xero_gateway/http.rb +138 -0
- data/lib/xero_gateway/http_encoding_helper.rb +49 -0
- data/lib/xero_gateway/invoice.rb +236 -0
- data/lib/xero_gateway/line_item.rb +125 -0
- data/lib/xero_gateway/line_item_calculations.rb +55 -0
- data/lib/xero_gateway/money.rb +16 -0
- data/lib/xero_gateway/oauth.rb +87 -0
- data/lib/xero_gateway/organisation.rb +75 -0
- data/lib/xero_gateway/partner_app.rb +30 -0
- data/lib/xero_gateway/payment.rb +40 -0
- data/lib/xero_gateway/phone.rb +77 -0
- data/lib/xero_gateway/private_app.rb +17 -0
- data/lib/xero_gateway/response.rb +41 -0
- data/lib/xero_gateway/tax_rate.rb +63 -0
- data/lib/xero_gateway/tracking_category.rb +87 -0
- data/test/integration/accounts_list_test.rb +109 -0
- data/test/integration/create_bank_transaction_test.rb +38 -0
- data/test/integration/create_contact_test.rb +66 -0
- data/test/integration/create_credit_note_test.rb +49 -0
- data/test/integration/create_invoice_test.rb +49 -0
- data/test/integration/get_accounts_test.rb +23 -0
- data/test/integration/get_bank_transaction_test.rb +51 -0
- data/test/integration/get_bank_transactions_test.rb +88 -0
- data/test/integration/get_contact_test.rb +28 -0
- data/test/integration/get_contacts_test.rb +40 -0
- data/test/integration/get_credit_note_test.rb +48 -0
- data/test/integration/get_credit_notes_test.rb +90 -0
- data/test/integration/get_currencies_test.rb +25 -0
- data/test/integration/get_invoice_test.rb +48 -0
- data/test/integration/get_invoices_test.rb +92 -0
- data/test/integration/get_organisation_test.rb +24 -0
- data/test/integration/get_tax_rates_test.rb +25 -0
- data/test/integration/get_tracking_categories_test.rb +27 -0
- data/test/integration/update_bank_transaction_test.rb +31 -0
- data/test/integration/update_contact_test.rb +31 -0
- data/test/integration/update_invoice_test.rb +31 -0
- data/test/test_helper.rb +179 -0
- data/test/unit/account_test.rb +47 -0
- data/test/unit/bank_transaction_test.rb +126 -0
- data/test/unit/contact_test.rb +97 -0
- data/test/unit/credit_note_test.rb +284 -0
- data/test/unit/currency_test.rb +31 -0
- data/test/unit/gateway_test.rb +119 -0
- data/test/unit/invoice_test.rb +326 -0
- data/test/unit/oauth_test.rb +116 -0
- data/test/unit/organisation_test.rb +38 -0
- data/test/unit/tax_rate_test.rb +38 -0
- data/test/unit/tracking_category_test.rb +52 -0
- data/xero_gateway.gemspec +15 -0
- metadata +164 -0
@@ -0,0 +1,116 @@
|
|
1
|
+
# Shamelessly based on the xero Gem's OAuth implementation by John Nunemaker
|
2
|
+
# Thanks!
|
3
|
+
#
|
4
|
+
# http://xero.rubyforge.org/
|
5
|
+
# http://github.com/jnunemaker/xero/
|
6
|
+
|
7
|
+
require File.join(File.dirname(__FILE__), '../test_helper.rb')
|
8
|
+
|
9
|
+
class OAuthTest < Test::Unit::TestCase
|
10
|
+
should "initialize with consumer token and secret" do
|
11
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
12
|
+
|
13
|
+
assert_equal 'token', xero.ctoken
|
14
|
+
assert_equal 'secret', xero.csecret
|
15
|
+
end
|
16
|
+
|
17
|
+
should "set autorization path to '/oauth/authorize' by default" do
|
18
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
19
|
+
assert_equal '/oauth/Authorize', xero.consumer.options[:authorize_path]
|
20
|
+
end
|
21
|
+
|
22
|
+
should "have a consumer" do
|
23
|
+
consumer = mock('oauth consumer')
|
24
|
+
OAuth::Consumer.expects(:new).with('token', 'secret', XeroGateway::OAuth::XERO_CONSUMER_OPTIONS).returns(consumer)
|
25
|
+
|
26
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
27
|
+
|
28
|
+
assert_equal consumer, xero.consumer
|
29
|
+
end
|
30
|
+
|
31
|
+
should "have a request token from the consumer" do
|
32
|
+
consumer = mock('oauth consumer')
|
33
|
+
request_token = mock('request token')
|
34
|
+
consumer.expects(:get_request_token).returns(request_token)
|
35
|
+
OAuth::Consumer.expects(:new).with('token', 'secret', XeroGateway::OAuth::XERO_CONSUMER_OPTIONS).returns(consumer)
|
36
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
37
|
+
|
38
|
+
assert_equal request_token, xero.request_token
|
39
|
+
end
|
40
|
+
|
41
|
+
should "be able to create access token from request token and secret" do
|
42
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
43
|
+
consumer = OAuth::Consumer.new('token', 'secret')
|
44
|
+
xero.stubs(:consumer).returns(consumer)
|
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
|
+
|
51
|
+
request_token = mock('request token')
|
52
|
+
request_token.expects(:get_access_token).returns(access_token)
|
53
|
+
OAuth::RequestToken.expects(:new).with(consumer, 'rtoken', 'rsecret').returns(request_token)
|
54
|
+
|
55
|
+
xero.authorize_from_request('rtoken', 'rsecret')
|
56
|
+
assert xero.access_token.is_a? OAuth::AccessToken
|
57
|
+
assert_equal "atoken", xero.access_token.token
|
58
|
+
assert_equal "asecret", xero.access_token.secret
|
59
|
+
end
|
60
|
+
|
61
|
+
should "be able to create access token from access token and secret" do
|
62
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
63
|
+
consumer = OAuth::Consumer.new('token', 'secret')
|
64
|
+
xero.stubs(:consumer).returns(consumer)
|
65
|
+
|
66
|
+
xero.authorize_from_access('atoken', 'asecret')
|
67
|
+
assert xero.access_token.is_a? OAuth::AccessToken
|
68
|
+
assert_equal "atoken", xero.access_token.token
|
69
|
+
assert_equal "asecret", xero.access_token.secret
|
70
|
+
end
|
71
|
+
|
72
|
+
should "be able to create request token with callback url" do
|
73
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
74
|
+
consumer = OAuth::Consumer.new('token', 'secret')
|
75
|
+
xero.stubs(:consumer).returns(consumer)
|
76
|
+
|
77
|
+
request_token = mock('request token')
|
78
|
+
consumer.expects(:get_request_token).with(:oauth_callback => "http://callback.com").returns(request_token)
|
79
|
+
|
80
|
+
xero.request_token(:oauth_callback => "http://callback.com")
|
81
|
+
end
|
82
|
+
|
83
|
+
should "be able to create access token with oauth verifier" do
|
84
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
85
|
+
consumer = OAuth::Consumer.new('token', 'secret')
|
86
|
+
xero.stubs(:consumer).returns(consumer)
|
87
|
+
|
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
|
+
|
93
|
+
request_token = mock('request token')
|
94
|
+
request_token.expects(:get_access_token).with(:oauth_verifier => "verifier").returns(access_token)
|
95
|
+
|
96
|
+
OAuth::RequestToken.expects(:new).with(consumer, 'rtoken', 'rsecret').returns(request_token)
|
97
|
+
|
98
|
+
xero.authorize_from_request('rtoken', 'rsecret', :oauth_verifier => "verifier")
|
99
|
+
end
|
100
|
+
|
101
|
+
should "delegate get to access token" do
|
102
|
+
access_token = mock('access token')
|
103
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
104
|
+
xero.stubs(:access_token).returns(access_token)
|
105
|
+
access_token.expects(:get).returns(nil)
|
106
|
+
xero.get('/foo')
|
107
|
+
end
|
108
|
+
|
109
|
+
should "delegate post to access token" do
|
110
|
+
access_token = mock('access token')
|
111
|
+
xero = XeroGateway::OAuth.new('token', 'secret')
|
112
|
+
xero.stubs(:access_token).returns(access_token)
|
113
|
+
access_token.expects(:post).returns(nil)
|
114
|
+
xero.post('/foo')
|
115
|
+
end
|
116
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '../test_helper.rb')
|
2
|
+
|
3
|
+
class OrganisationTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
# Tests that an organisation can be converted into XML that Xero can understand, and then converted back to an organisation
|
6
|
+
def test_build_and_parse_xml
|
7
|
+
org = create_test_organisation
|
8
|
+
|
9
|
+
# Generate the XML message
|
10
|
+
org_as_xml = org.to_xml
|
11
|
+
|
12
|
+
# Parse the XML message and retrieve the account element
|
13
|
+
org_element = REXML::XPath.first(REXML::Document.new(org_as_xml), "/Organisation")
|
14
|
+
|
15
|
+
# Build a new account from the XML
|
16
|
+
result_org = XeroGateway::Organisation.from_xml(org_element)
|
17
|
+
|
18
|
+
# Check the account details
|
19
|
+
assert_equal org, result_org
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def create_test_organisation
|
26
|
+
XeroGateway::Organisation.new.tap do |org|
|
27
|
+
org.name = "Demo Company (NZ)"
|
28
|
+
org.legal_name = "Demo Company (NZ)"
|
29
|
+
org.pays_tax = true
|
30
|
+
org.version = "NZ"
|
31
|
+
org.base_currency = "NZD"
|
32
|
+
org.country_code = "NZ"
|
33
|
+
org.organisation_type = nil
|
34
|
+
org.organisation_status = nil
|
35
|
+
org.is_demo_company = false
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '../test_helper.rb')
|
2
|
+
|
3
|
+
class TaxRateTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
# Tests that a tax rate can be converted into XML that Xero can understand, and then converted back to a tax rate
|
6
|
+
def test_build_and_parse_xml
|
7
|
+
tax_rate = create_test_tax_rate
|
8
|
+
|
9
|
+
# Generate the XML message
|
10
|
+
tax_rate_as_xml = tax_rate.to_xml
|
11
|
+
|
12
|
+
# Parse the XML message and retrieve the account element
|
13
|
+
tax_rate_element = REXML::XPath.first(REXML::Document.new(tax_rate_as_xml), "/TaxRate")
|
14
|
+
|
15
|
+
# Build a new account from the XML
|
16
|
+
result_tax_rate = XeroGateway::TaxRate.from_xml(tax_rate_element)
|
17
|
+
|
18
|
+
# Check the account details
|
19
|
+
assert_equal tax_rate, result_tax_rate
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def create_test_tax_rate
|
26
|
+
XeroGateway::TaxRate.new.tap do |tax_rate|
|
27
|
+
tax_rate.name = "GST on Expenses"
|
28
|
+
tax_rate.tax_type = "INPUT"
|
29
|
+
tax_rate.can_apply_to_assets = true
|
30
|
+
tax_rate.can_apply_to_equity = true
|
31
|
+
tax_rate.can_apply_to_expenses = true
|
32
|
+
tax_rate.can_apply_to_liabilities = true
|
33
|
+
tax_rate.can_apply_to_revenue = false
|
34
|
+
tax_rate.display_tax_rate = 12.500
|
35
|
+
tax_rate.effective_rate = 12.500
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '../test_helper.rb')
|
2
|
+
|
3
|
+
class TrackingCategoryTest < Test::Unit::TestCase
|
4
|
+
# Tests that a tracking category can be converted into XML that Xero can understand, and then converted back to a tracking category
|
5
|
+
def test_build_and_parse_xml
|
6
|
+
tracking_category = create_test_tracking_category
|
7
|
+
|
8
|
+
# Generate the XML message
|
9
|
+
tracking_category_as_xml = tracking_category.to_xml
|
10
|
+
|
11
|
+
# Parse the XML message and retrieve the tracking category element
|
12
|
+
tracking_category_element = REXML::XPath.first(REXML::Document.new(tracking_category_as_xml), "/TrackingCategory")
|
13
|
+
|
14
|
+
# Build a new tracking category from the XML
|
15
|
+
result_tracking_category = XeroGateway::TrackingCategory.from_xml(tracking_category_element)
|
16
|
+
|
17
|
+
# Check the tracking category details
|
18
|
+
assert_equal tracking_category, result_tracking_category
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_build_and_parse_xml_from_line_item
|
22
|
+
tracking_category = create_test_line_item_tracking_category
|
23
|
+
|
24
|
+
# Generate the XML message
|
25
|
+
tracking_category_as_xml = tracking_category.to_xml_for_invoice_messages
|
26
|
+
|
27
|
+
# Parse the XML message and retrieve the tracking category element
|
28
|
+
tracking_category_element = REXML::XPath.first(REXML::Document.new(tracking_category_as_xml), "/TrackingCategory")
|
29
|
+
|
30
|
+
# Build a new tracking category from the XML
|
31
|
+
result_tracking_category = XeroGateway::TrackingCategory.from_xml(tracking_category_element)
|
32
|
+
|
33
|
+
# Check the tracking category details
|
34
|
+
assert_equal tracking_category, result_tracking_category
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def create_test_tracking_category
|
40
|
+
tracking_category = XeroGateway::TrackingCategory.new
|
41
|
+
tracking_category.name = "REGION"
|
42
|
+
tracking_category.options = ["NORTH", "SOUTH", "CENTRAL"]
|
43
|
+
tracking_category
|
44
|
+
end
|
45
|
+
|
46
|
+
def create_test_line_item_tracking_category
|
47
|
+
tracking_category = XeroGateway::TrackingCategory.new
|
48
|
+
tracking_category.name = "REGION"
|
49
|
+
tracking_category.options = ["NORTH"]
|
50
|
+
tracking_category
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "xero_gateway-float"
|
3
|
+
s.version = "2.0.15"
|
4
|
+
s.date = "2012-11-02"
|
5
|
+
s.summary = "Enables ruby based applications to communicate with the Xero API"
|
6
|
+
s.email = "tim@connorsoftware.com"
|
7
|
+
s.homepage = "http://github.com/latentflip/xero_gateway"
|
8
|
+
s.description = "Enables ruby based applications to communicate with the Xero API"
|
9
|
+
s.has_rdoc = false
|
10
|
+
s.authors = ["Tim Connor", "Nik Wakelin", "Philip Roberts"]
|
11
|
+
s.files = ["Gemfile", "LICENSE", "Rakefile", "README.textile", "xero_gateway.gemspec"] + Dir['**/*.rb'] + Dir['**/*.crt']
|
12
|
+
s.add_dependency('builder', '>= 2.1.2')
|
13
|
+
s.add_dependency('oauth', '>= 0.3.6')
|
14
|
+
s.add_dependency('activesupport')
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: xero_gateway-float
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.15
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Tim Connor
|
9
|
+
- Nik Wakelin
|
10
|
+
- Philip Roberts
|
11
|
+
autorequire:
|
12
|
+
bindir: bin
|
13
|
+
cert_chain: []
|
14
|
+
date: 2012-11-02 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: builder
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.1.2
|
24
|
+
type: :runtime
|
25
|
+
prerelease: false
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ! '>='
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 2.1.2
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: oauth
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.3.6
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.3.6
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: activesupport
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
type: :runtime
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
description: Enables ruby based applications to communicate with the Xero API
|
65
|
+
email: tim@connorsoftware.com
|
66
|
+
executables: []
|
67
|
+
extensions: []
|
68
|
+
extra_rdoc_files: []
|
69
|
+
files:
|
70
|
+
- Gemfile
|
71
|
+
- LICENSE
|
72
|
+
- Rakefile
|
73
|
+
- README.textile
|
74
|
+
- xero_gateway.gemspec
|
75
|
+
- examples/oauth.rb
|
76
|
+
- examples/partner_app.rb
|
77
|
+
- init.rb
|
78
|
+
- lib/oauth/oauth_consumer.rb
|
79
|
+
- lib/xero_gateway/account.rb
|
80
|
+
- lib/xero_gateway/accounts_list.rb
|
81
|
+
- lib/xero_gateway/address.rb
|
82
|
+
- lib/xero_gateway/bank_transaction.rb
|
83
|
+
- lib/xero_gateway/contact.rb
|
84
|
+
- lib/xero_gateway/credit_note.rb
|
85
|
+
- lib/xero_gateway/currency.rb
|
86
|
+
- lib/xero_gateway/dates.rb
|
87
|
+
- lib/xero_gateway/error.rb
|
88
|
+
- lib/xero_gateway/exceptions.rb
|
89
|
+
- lib/xero_gateway/gateway.rb
|
90
|
+
- lib/xero_gateway/http.rb
|
91
|
+
- lib/xero_gateway/http_encoding_helper.rb
|
92
|
+
- lib/xero_gateway/invoice.rb
|
93
|
+
- lib/xero_gateway/line_item.rb
|
94
|
+
- lib/xero_gateway/line_item_calculations.rb
|
95
|
+
- lib/xero_gateway/money.rb
|
96
|
+
- lib/xero_gateway/oauth.rb
|
97
|
+
- lib/xero_gateway/organisation.rb
|
98
|
+
- lib/xero_gateway/partner_app.rb
|
99
|
+
- lib/xero_gateway/payment.rb
|
100
|
+
- lib/xero_gateway/phone.rb
|
101
|
+
- lib/xero_gateway/private_app.rb
|
102
|
+
- lib/xero_gateway/response.rb
|
103
|
+
- lib/xero_gateway/tax_rate.rb
|
104
|
+
- lib/xero_gateway/tracking_category.rb
|
105
|
+
- lib/xero_gateway.rb
|
106
|
+
- test/integration/accounts_list_test.rb
|
107
|
+
- test/integration/create_bank_transaction_test.rb
|
108
|
+
- test/integration/create_contact_test.rb
|
109
|
+
- test/integration/create_credit_note_test.rb
|
110
|
+
- test/integration/create_invoice_test.rb
|
111
|
+
- test/integration/get_accounts_test.rb
|
112
|
+
- test/integration/get_bank_transaction_test.rb
|
113
|
+
- test/integration/get_bank_transactions_test.rb
|
114
|
+
- test/integration/get_contact_test.rb
|
115
|
+
- test/integration/get_contacts_test.rb
|
116
|
+
- test/integration/get_credit_note_test.rb
|
117
|
+
- test/integration/get_credit_notes_test.rb
|
118
|
+
- test/integration/get_currencies_test.rb
|
119
|
+
- test/integration/get_invoice_test.rb
|
120
|
+
- test/integration/get_invoices_test.rb
|
121
|
+
- test/integration/get_organisation_test.rb
|
122
|
+
- test/integration/get_tax_rates_test.rb
|
123
|
+
- test/integration/get_tracking_categories_test.rb
|
124
|
+
- test/integration/update_bank_transaction_test.rb
|
125
|
+
- test/integration/update_contact_test.rb
|
126
|
+
- test/integration/update_invoice_test.rb
|
127
|
+
- test/test_helper.rb
|
128
|
+
- test/unit/account_test.rb
|
129
|
+
- test/unit/bank_transaction_test.rb
|
130
|
+
- test/unit/contact_test.rb
|
131
|
+
- test/unit/credit_note_test.rb
|
132
|
+
- test/unit/currency_test.rb
|
133
|
+
- test/unit/gateway_test.rb
|
134
|
+
- test/unit/invoice_test.rb
|
135
|
+
- test/unit/oauth_test.rb
|
136
|
+
- test/unit/organisation_test.rb
|
137
|
+
- test/unit/tax_rate_test.rb
|
138
|
+
- test/unit/tracking_category_test.rb
|
139
|
+
- lib/xero_gateway/ca-certificates.crt
|
140
|
+
homepage: http://github.com/latentflip/xero_gateway
|
141
|
+
licenses: []
|
142
|
+
post_install_message:
|
143
|
+
rdoc_options: []
|
144
|
+
require_paths:
|
145
|
+
- lib
|
146
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
148
|
+
requirements:
|
149
|
+
- - ! '>='
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ! '>='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
requirements: []
|
159
|
+
rubyforge_project:
|
160
|
+
rubygems_version: 1.8.21
|
161
|
+
signing_key:
|
162
|
+
specification_version: 3
|
163
|
+
summary: Enables ruby based applications to communicate with the Xero API
|
164
|
+
test_files: []
|