xero_gateway 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
+