xero_gateway 2.0.2

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 (75) hide show
  1. data/CHANGELOG.textile +51 -0
  2. data/LICENSE +14 -0
  3. data/README.textile +289 -0
  4. data/Rakefile +14 -0
  5. data/examples/oauth.rb +25 -0
  6. data/init.rb +1 -0
  7. data/lib/xero_gateway/account.rb +78 -0
  8. data/lib/xero_gateway/accounts_list.rb +77 -0
  9. data/lib/xero_gateway/address.rb +97 -0
  10. data/lib/xero_gateway/ca-certificates.crt +2560 -0
  11. data/lib/xero_gateway/contact.rb +206 -0
  12. data/lib/xero_gateway/currency.rb +56 -0
  13. data/lib/xero_gateway/dates.rb +25 -0
  14. data/lib/xero_gateway/error.rb +18 -0
  15. data/lib/xero_gateway/exceptions.rb +41 -0
  16. data/lib/xero_gateway/gateway.rb +363 -0
  17. data/lib/xero_gateway/http.rb +128 -0
  18. data/lib/xero_gateway/http_encoding_helper.rb +49 -0
  19. data/lib/xero_gateway/invoice.rb +278 -0
  20. data/lib/xero_gateway/line_item.rb +123 -0
  21. data/lib/xero_gateway/money.rb +16 -0
  22. data/lib/xero_gateway/oauth.rb +56 -0
  23. data/lib/xero_gateway/organisation.rb +61 -0
  24. data/lib/xero_gateway/payment.rb +40 -0
  25. data/lib/xero_gateway/phone.rb +77 -0
  26. data/lib/xero_gateway/private_app.rb +17 -0
  27. data/lib/xero_gateway/response.rb +37 -0
  28. data/lib/xero_gateway/tax_rate.rb +63 -0
  29. data/lib/xero_gateway/tracking_category.rb +62 -0
  30. data/lib/xero_gateway.rb +33 -0
  31. data/test/integration/accounts_list_test.rb +109 -0
  32. data/test/integration/create_contact_test.rb +66 -0
  33. data/test/integration/create_invoice_test.rb +49 -0
  34. data/test/integration/get_accounts_test.rb +23 -0
  35. data/test/integration/get_contact_test.rb +28 -0
  36. data/test/integration/get_contacts_test.rb +40 -0
  37. data/test/integration/get_currencies_test.rb +25 -0
  38. data/test/integration/get_invoice_test.rb +48 -0
  39. data/test/integration/get_invoices_test.rb +90 -0
  40. data/test/integration/get_organisation_test.rb +24 -0
  41. data/test/integration/get_tax_rates_test.rb +25 -0
  42. data/test/integration/get_tracking_categories_test.rb +26 -0
  43. data/test/integration/update_contact_test.rb +31 -0
  44. data/test/stub_responses/accounts.xml +1 -0
  45. data/test/stub_responses/api_exception.xml +153 -0
  46. data/test/stub_responses/contact.xml +1 -0
  47. data/test/stub_responses/contacts.xml +2189 -0
  48. data/test/stub_responses/create_invoice.xml +64 -0
  49. data/test/stub_responses/currencies.xml +16 -0
  50. data/test/stub_responses/invalid_api_key_error.xml +1 -0
  51. data/test/stub_responses/invalid_consumer_key +1 -0
  52. data/test/stub_responses/invalid_request_token +1 -0
  53. data/test/stub_responses/invoice.xml +1 -0
  54. data/test/stub_responses/invoice_not_found_error.xml +1 -0
  55. data/test/stub_responses/invoices.xml +1 -0
  56. data/test/stub_responses/organisation.xml +14 -0
  57. data/test/stub_responses/tax_rates.xml +52 -0
  58. data/test/stub_responses/token_expired +1 -0
  59. data/test/stub_responses/tracking_categories.xml +1 -0
  60. data/test/stub_responses/unknown_error.xml +1 -0
  61. data/test/test_helper.rb +81 -0
  62. data/test/unit/account_test.rb +34 -0
  63. data/test/unit/contact_test.rb +97 -0
  64. data/test/unit/currency_test.rb +31 -0
  65. data/test/unit/gateway_test.rb +79 -0
  66. data/test/unit/invoice_test.rb +302 -0
  67. data/test/unit/oauth_test.rb +110 -0
  68. data/test/unit/organisation_test.rb +34 -0
  69. data/test/unit/tax_rate_test.rb +38 -0
  70. data/test/unit/tracking_category_test.rb +30 -0
  71. data/test/xsd/README +2 -0
  72. data/test/xsd/create_contact.xsd +61 -0
  73. data/test/xsd/create_invoice.xsd +107 -0
  74. data/xero_gateway.gemspec +87 -0
  75. metadata +172 -0
@@ -0,0 +1,30 @@
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
+
22
+ private
23
+
24
+ def create_test_tracking_category
25
+ tracking_category = XeroGateway::TrackingCategory.new
26
+ tracking_category.name = "REGION"
27
+ tracking_category.options = ["NORTH", "SOUTH", "CENTRAL"]
28
+ tracking_category
29
+ end
30
+ end
data/test/xsd/README ADDED
@@ -0,0 +1,2 @@
1
+ These XML schemas are taken directly from https://network.xero.com/Help/Xero%20API%20Reference%201.0.htm
2
+ and all XML generated to be sent to Xero should match these schemas
@@ -0,0 +1,61 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
+ <xs:element name="Contact">
4
+ <xs:complexType>
5
+ <xs:sequence>
6
+ <xs:element minOccurs="0" name="ContactID" type="xs:string" />
7
+ <xs:element minOccurs="0" name="ContactNumber" type="xs:string" />
8
+ <xs:element name="Name" type="xs:string" />
9
+ <xs:element minOccurs="0" name="ContactStatus" type="xs:string" />
10
+ <xs:element minOccurs="0" name="EmailAddress" type="xs:string" />
11
+ <xs:element minOccurs="0" name="SkypeUserName" type="xs:string" />
12
+ <xs:element minOccurs="0" name="BankAccountDetails" type="xs:string" />
13
+ <xs:element minOccurs="0" name="TaxNumber" type="xs:string" />
14
+ <xs:element minOccurs="0" name="AccountsRecievableTaxType" type="xs:string" />
15
+ <xs:element minOccurs="0" name="AccountsPayableTaxType" type="xs:string" />
16
+ <xs:element minOccurs="0" name="FirstName" type="xs:string" />
17
+ <xs:element minOccurs="0" name="LastName" type="xs:string" />
18
+ <xs:element minOccurs="0" name="IsCustomer" type="xs:boolean" />
19
+ <xs:element minOccurs="0" name="IsSupplier" type="xs:boolean" />
20
+ <xs:element minOccurs="0" name="DefaultCurrency" type="xs:string" />
21
+ <xs:element name="Addresses">
22
+ <xs:complexType>
23
+ <xs:sequence>
24
+ <xs:element name="Address">
25
+ <xs:complexType>
26
+ <xs:sequence>
27
+ <xs:element name="AddressType" type="xs:string" />
28
+ <xs:element minOccurs="0" name="AddressLine1" type="xs:string" />
29
+ <xs:element minOccurs="0" name="AddressLine2" type="xs:string" />
30
+ <xs:element minOccurs="0" name="AddressLine3" type="xs:string" />
31
+ <xs:element minOccurs="0" name="AddressLine4" type="xs:string" />
32
+ <xs:element minOccurs="0" name="City" type="xs:string" />
33
+ <xs:element minOccurs="0" name="Region" type="xs:string" />
34
+ <xs:element minOccurs="0" name="PostalCode" type="xs:unsignedShort" />
35
+ <xs:element minOccurs="0" name="Country" type="xs:string" />
36
+ </xs:sequence>
37
+ </xs:complexType>
38
+ </xs:element>
39
+ </xs:sequence>
40
+ </xs:complexType>
41
+ </xs:element>
42
+ <xs:element name="Phones">
43
+ <xs:complexType>
44
+ <xs:sequence>
45
+ <xs:element maxOccurs="unbounded" name="Phone">
46
+ <xs:complexType>
47
+ <xs:sequence>
48
+ <xs:element name="PhoneType" type="xs:string" />
49
+ <xs:element minOccurs="0" name="PhoneNumber" type="xs:unsignedInt" />
50
+ <xs:element minOccurs="0" name="PhoneAreaCode" type="xs:unsignedByte" />
51
+ <xs:element minOccurs="0" name="PhoneCountryCode" type="xs:unsignedByte" />
52
+ </xs:sequence>
53
+ </xs:complexType>
54
+ </xs:element>
55
+ </xs:sequence>
56
+ </xs:complexType>
57
+ </xs:element>
58
+ </xs:sequence>
59
+ </xs:complexType>
60
+ </xs:element>
61
+ </xs:schema>
@@ -0,0 +1,107 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
+ <xs:element name="Invoice">
4
+ <xs:complexType>
5
+ <xs:sequence>
6
+ <xs:element name="Type" type="xs:string" />
7
+ <xs:element name="Contact">
8
+ <xs:complexType>
9
+ <xs:sequence>
10
+ <xs:element minOccurs="0" name="ContactID" type="xs:string" />
11
+ <xs:element minOccurs="0" name="ContactNumber" type="xs:string" />
12
+ <xs:element name="Name" type="xs:string" />
13
+ <xs:element minOccurs="0" name="ContactStatus" type="xs:string" />
14
+ <xs:element minOccurs="0" name="EmailAddress" type="xs:string" />
15
+ <xs:element minOccurs="0" name="SkypeUserName" type="xs:string" />
16
+ <xs:element minOccurs="0" name="BankAccountDetails" type="xs:string" />
17
+ <xs:element minOccurs="0" name="TaxNumber" type="xs:string" />
18
+ <xs:element minOccurs="0" name="AccountsRecievableTaxType" type="xs:string" />
19
+ <xs:element minOccurs="0" name="AccountsPayableTaxType" type="xs:string" />
20
+ <xs:element minOccurs="0" name="FirstName" type="xs:string" />
21
+ <xs:element minOccurs="0" name="LastName" type="xs:string" />
22
+ <xs:element minOccurs="0" name="DefaultCurrency" type="xs:string" />
23
+ <xs:element name="Addresses">
24
+ <xs:complexType>
25
+ <xs:sequence>
26
+ <xs:element name="Address">
27
+ <xs:complexType>
28
+ <xs:sequence>
29
+ <xs:element name="AddressType" type="xs:string" />
30
+ <xs:element minOccurs="0" name="AddressLine1" type="xs:string" />
31
+ <xs:element minOccurs="0" name="AddressLine2" type="xs:string" />
32
+ <xs:element minOccurs="0" name="AddressLine3" type="xs:string" />
33
+ <xs:element minOccurs="0" name="AddressLine4" type="xs:string" />
34
+ <xs:element minOccurs="0" name="City" type="xs:string" />
35
+ <xs:element minOccurs="0" name="Region" type="xs:string" />
36
+ <xs:element minOccurs="0" name="PostalCode" type="xs:unsignedShort" />
37
+ <xs:element minOccurs="0" name="Country" type="xs:string" />
38
+ </xs:sequence>
39
+ </xs:complexType>
40
+ </xs:element>
41
+ </xs:sequence>
42
+ </xs:complexType>
43
+ </xs:element>
44
+ <xs:element minOccurs="0" name="Phones">
45
+ <xs:complexType>
46
+ <xs:sequence>
47
+ <xs:element maxOccurs="unbounded" name="Phone">
48
+ <xs:complexType>
49
+ <xs:sequence>
50
+ <xs:element name="PhoneType" type="xs:string" />
51
+ <xs:element minOccurs="0" name="PhoneNumber" type="xs:unsignedInt" />
52
+ <xs:element minOccurs="0" name="PhoneAreaCode" type="xs:unsignedByte" />
53
+ <xs:element minOccurs="0" name="PhoneCountryCode" type="xs:unsignedByte" />
54
+ </xs:sequence>
55
+ </xs:complexType>
56
+ </xs:element>
57
+ </xs:sequence>
58
+ </xs:complexType>
59
+ </xs:element>
60
+ </xs:sequence>
61
+ </xs:complexType>
62
+ </xs:element>
63
+ <xs:element name="Date" type="xs:date" />
64
+ <xs:element minOccurs="0" name="DueDate" type="xs:date" />
65
+ <xs:element name="InvoiceNumber" type="xs:string" />
66
+ <xs:element minOccurs="0" name="Reference" type="xs:string" />
67
+ <xs:element minOccurs="0" name="LineAmountTypes" type="xs:string" />
68
+ <xs:element minOccurs="0" name="SubTotal" type="xs:decimal" />
69
+ <xs:element minOccurs="0" name="TotalTax" type="xs:decimal" />
70
+ <xs:element minOccurs="0" name="Total" type="xs:decimal" />
71
+ <xs:element name="LineItems">
72
+ <xs:complexType>
73
+ <xs:sequence>
74
+ <xs:element maxOccurs="unbounded" name="LineItem">
75
+ <xs:complexType>
76
+ <xs:sequence>
77
+ <xs:element name="Description" type="xs:string" />
78
+ <xs:element minOccurs="0" name="Quantity" type="xs:decimal" />
79
+ <xs:element name="UnitAmount" type="xs:decimal" />
80
+ <xs:element minOccurs="0" name="TaxType" type="xs:string" />
81
+ <xs:element minOccurs="0" name="TaxAmount" type="xs:decimal" />
82
+ <xs:element minOccurs="0" name="LineAmount" type="xs:decimal" />
83
+ <xs:element name="AccountCode" type="xs:string" />
84
+ <xs:element minOccurs="0" name="Tracking">
85
+ <xs:complexType>
86
+ <xs:sequence>
87
+ <xs:element name="TrackingCategory">
88
+ <xs:complexType>
89
+ <xs:sequence>
90
+ <xs:element name="Name" type="xs:string" />
91
+ <xs:element name="Option" type="xs:string" />
92
+ </xs:sequence>
93
+ </xs:complexType>
94
+ </xs:element>
95
+ </xs:sequence>
96
+ </xs:complexType>
97
+ </xs:element>
98
+ </xs:sequence>
99
+ </xs:complexType>
100
+ </xs:element>
101
+ </xs:sequence>
102
+ </xs:complexType>
103
+ </xs:element>
104
+ </xs:sequence>
105
+ </xs:complexType>
106
+ </xs:element>
107
+ </xs:schema>
@@ -0,0 +1,87 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "xero_gateway"
3
+ s.version = "2.0.2"
4
+ s.date = "2010-08-24"
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/tlconnor/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"]
11
+ s.add_dependency('builder', '>= 2.1.2')
12
+ s.add_dependency('oauth', '>= 0.3.6')
13
+ s.files = ["CHANGELOG.textile",
14
+ "init.rb",
15
+ "LICENSE",
16
+ "Rakefile",
17
+ "README.textile",
18
+ "examples/oauth.rb",
19
+ "lib/xero_gateway.rb",
20
+ "lib/xero_gateway/account.rb",
21
+ "lib/xero_gateway/accounts_list.rb",
22
+ "lib/xero_gateway/address.rb",
23
+ "lib/xero_gateway/ca-certificates.crt",
24
+ "lib/xero_gateway/contact.rb",
25
+ "lib/xero_gateway/currency.rb",
26
+ "lib/xero_gateway/dates.rb",
27
+ "lib/xero_gateway/error.rb",
28
+ "lib/xero_gateway/exceptions.rb",
29
+ "lib/xero_gateway/gateway.rb",
30
+ "lib/xero_gateway/http.rb",
31
+ "lib/xero_gateway/http_encoding_helper.rb",
32
+ "lib/xero_gateway/invoice.rb",
33
+ "lib/xero_gateway/line_item.rb",
34
+ "lib/xero_gateway/money.rb",
35
+ "lib/xero_gateway/oauth.rb",
36
+ "lib/xero_gateway/organisation.rb",
37
+ "lib/xero_gateway/payment.rb",
38
+ "lib/xero_gateway/phone.rb",
39
+ "lib/xero_gateway/private_app.rb",
40
+ "lib/xero_gateway/response.rb",
41
+ "lib/xero_gateway/tax_rate.rb",
42
+ "lib/xero_gateway/tracking_category.rb",
43
+ "test/integration/accounts_list_test.rb",
44
+ "test/integration/create_contact_test.rb",
45
+ "test/integration/create_invoice_test.rb",
46
+ "test/integration/get_accounts_test.rb",
47
+ "test/integration/get_contact_test.rb",
48
+ "test/integration/get_contacts_test.rb",
49
+ "test/integration/get_currencies_test.rb",
50
+ "test/integration/get_invoice_test.rb",
51
+ "test/integration/get_invoices_test.rb",
52
+ "test/integration/get_organisation_test.rb",
53
+ "test/integration/get_tax_rates_test.rb",
54
+ "test/integration/get_tracking_categories_test.rb",
55
+ "test/integration/update_contact_test.rb",
56
+ "test/stub_responses/accounts.xml",
57
+ "test/stub_responses/api_exception.xml",
58
+ "test/stub_responses/contact.xml",
59
+ "test/stub_responses/contacts.xml",
60
+ "test/stub_responses/create_invoice.xml",
61
+ "test/stub_responses/currencies.xml",
62
+ "test/stub_responses/invalid_api_key_error.xml",
63
+ "test/stub_responses/invalid_consumer_key",
64
+ "test/stub_responses/invalid_request_token",
65
+ "test/stub_responses/invoice.xml",
66
+ "test/stub_responses/invoice_not_found_error.xml",
67
+ "test/stub_responses/invoices.xml",
68
+ "test/stub_responses/organisation.xml",
69
+ "test/stub_responses/tax_rates.xml",
70
+ "test/stub_responses/token_expired",
71
+ "test/stub_responses/tracking_categories.xml",
72
+ "test/stub_responses/unknown_error.xml",
73
+ "test/test_helper.rb",
74
+ "test/unit/account_test.rb",
75
+ "test/unit/contact_test.rb",
76
+ "test/unit/currency_test.rb",
77
+ "test/unit/gateway_test.rb",
78
+ "test/unit/invoice_test.rb",
79
+ "test/unit/oauth_test.rb",
80
+ "test/unit/organisation_test.rb",
81
+ "test/unit/tax_rate_test.rb",
82
+ "test/unit/tracking_category_test.rb",
83
+ "test/xsd/README",
84
+ "test/xsd/create_contact.xsd",
85
+ "test/xsd/create_invoice.xsd",
86
+ "xero_gateway.gemspec"]
87
+ end
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xero_gateway
3
+ version: !ruby/object:Gem::Version
4
+ hash: 11
5
+ prerelease: false
6
+ segments:
7
+ - 2
8
+ - 0
9
+ - 2
10
+ version: 2.0.2
11
+ platform: ruby
12
+ authors:
13
+ - Tim Connor
14
+ - Nik Wakelin
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2010-08-24 00:00:00 +12:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: builder
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 15
31
+ segments:
32
+ - 2
33
+ - 1
34
+ - 2
35
+ version: 2.1.2
36
+ type: :runtime
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: oauth
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 31
47
+ segments:
48
+ - 0
49
+ - 3
50
+ - 6
51
+ version: 0.3.6
52
+ type: :runtime
53
+ version_requirements: *id002
54
+ description: Enables ruby based applications to communicate with the Xero API
55
+ email: tim@connorsoftware.com
56
+ executables: []
57
+
58
+ extensions: []
59
+
60
+ extra_rdoc_files: []
61
+
62
+ files:
63
+ - CHANGELOG.textile
64
+ - init.rb
65
+ - LICENSE
66
+ - Rakefile
67
+ - README.textile
68
+ - examples/oauth.rb
69
+ - lib/xero_gateway.rb
70
+ - lib/xero_gateway/account.rb
71
+ - lib/xero_gateway/accounts_list.rb
72
+ - lib/xero_gateway/address.rb
73
+ - lib/xero_gateway/ca-certificates.crt
74
+ - lib/xero_gateway/contact.rb
75
+ - lib/xero_gateway/currency.rb
76
+ - lib/xero_gateway/dates.rb
77
+ - lib/xero_gateway/error.rb
78
+ - lib/xero_gateway/exceptions.rb
79
+ - lib/xero_gateway/gateway.rb
80
+ - lib/xero_gateway/http.rb
81
+ - lib/xero_gateway/http_encoding_helper.rb
82
+ - lib/xero_gateway/invoice.rb
83
+ - lib/xero_gateway/line_item.rb
84
+ - lib/xero_gateway/money.rb
85
+ - lib/xero_gateway/oauth.rb
86
+ - lib/xero_gateway/organisation.rb
87
+ - lib/xero_gateway/payment.rb
88
+ - lib/xero_gateway/phone.rb
89
+ - lib/xero_gateway/private_app.rb
90
+ - lib/xero_gateway/response.rb
91
+ - lib/xero_gateway/tax_rate.rb
92
+ - lib/xero_gateway/tracking_category.rb
93
+ - test/integration/accounts_list_test.rb
94
+ - test/integration/create_contact_test.rb
95
+ - test/integration/create_invoice_test.rb
96
+ - test/integration/get_accounts_test.rb
97
+ - test/integration/get_contact_test.rb
98
+ - test/integration/get_contacts_test.rb
99
+ - test/integration/get_currencies_test.rb
100
+ - test/integration/get_invoice_test.rb
101
+ - test/integration/get_invoices_test.rb
102
+ - test/integration/get_organisation_test.rb
103
+ - test/integration/get_tax_rates_test.rb
104
+ - test/integration/get_tracking_categories_test.rb
105
+ - test/integration/update_contact_test.rb
106
+ - test/stub_responses/accounts.xml
107
+ - test/stub_responses/api_exception.xml
108
+ - test/stub_responses/contact.xml
109
+ - test/stub_responses/contacts.xml
110
+ - test/stub_responses/create_invoice.xml
111
+ - test/stub_responses/currencies.xml
112
+ - test/stub_responses/invalid_api_key_error.xml
113
+ - test/stub_responses/invalid_consumer_key
114
+ - test/stub_responses/invalid_request_token
115
+ - test/stub_responses/invoice.xml
116
+ - test/stub_responses/invoice_not_found_error.xml
117
+ - test/stub_responses/invoices.xml
118
+ - test/stub_responses/organisation.xml
119
+ - test/stub_responses/tax_rates.xml
120
+ - test/stub_responses/token_expired
121
+ - test/stub_responses/tracking_categories.xml
122
+ - test/stub_responses/unknown_error.xml
123
+ - test/test_helper.rb
124
+ - test/unit/account_test.rb
125
+ - test/unit/contact_test.rb
126
+ - test/unit/currency_test.rb
127
+ - test/unit/gateway_test.rb
128
+ - test/unit/invoice_test.rb
129
+ - test/unit/oauth_test.rb
130
+ - test/unit/organisation_test.rb
131
+ - test/unit/tax_rate_test.rb
132
+ - test/unit/tracking_category_test.rb
133
+ - test/xsd/README
134
+ - test/xsd/create_contact.xsd
135
+ - test/xsd/create_invoice.xsd
136
+ - xero_gateway.gemspec
137
+ has_rdoc: true
138
+ homepage: http://github.com/tlconnor/xero_gateway
139
+ licenses: []
140
+
141
+ post_install_message:
142
+ rdoc_options: []
143
+
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
+ hash: 3
152
+ segments:
153
+ - 0
154
+ version: "0"
155
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ hash: 3
161
+ segments:
162
+ - 0
163
+ version: "0"
164
+ requirements: []
165
+
166
+ rubyforge_project:
167
+ rubygems_version: 1.3.7
168
+ signing_key:
169
+ specification_version: 3
170
+ summary: Enables ruby based applications to communicate with the Xero API
171
+ test_files: []
172
+