tlconnor-xero_gateway 1.0.0
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/CHANGELOG.textile +14 -0
- data/LICENSE +14 -0
- data/README.textile +119 -0
- data/Rakefile +14 -0
- data/lib/xero_gateway.rb +35 -0
- data/lib/xero_gateway/account.rb +34 -0
- data/lib/xero_gateway/address.rb +47 -0
- data/lib/xero_gateway/contact.rb +54 -0
- data/lib/xero_gateway/dates.rb +31 -0
- data/lib/xero_gateway/gateway.rb +283 -0
- data/lib/xero_gateway/http.rb +73 -0
- data/lib/xero_gateway/invoice.rb +48 -0
- data/lib/xero_gateway/line_item.rb +40 -0
- data/lib/xero_gateway/messages/account_message.rb +59 -0
- data/lib/xero_gateway/messages/contact_message.rb +107 -0
- data/lib/xero_gateway/messages/invoice_message.rb +136 -0
- data/lib/xero_gateway/money.rb +30 -0
- data/lib/xero_gateway/phone.rb +38 -0
- data/lib/xero_gateway/response.rb +44 -0
- data/test/integration/gateway_test.rb +166 -0
- data/test/integration/stub_responses/accounts.xml +1 -0
- data/test/integration/stub_responses/contact.xml +1 -0
- data/test/integration/stub_responses/contacts.xml +1 -0
- data/test/integration/stub_responses/invoice.xml +1 -0
- data/test/integration/stub_responses/invoices.xml +1 -0
- data/test/test_helper.rb +22 -0
- data/test/unit/messages/contact_message_test.rb +66 -0
- data/test/unit/messages/invoice_message_test.rb +76 -0
- data/test/xsd/README +2 -0
- data/test/xsd/create_contact.xsd +50 -0
- data/test/xsd/create_invoice.xsd +98 -0
- data/xero_gateway.gemspec +44 -0
- metadata +92 -0
data/test/xsd/README
ADDED
@@ -0,0 +1,50 @@
|
|
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="EmailAddress" type="xs:string" />
|
10
|
+
<xs:element name="Addresses">
|
11
|
+
<xs:complexType>
|
12
|
+
<xs:sequence>
|
13
|
+
<xs:element name="Address">
|
14
|
+
<xs:complexType>
|
15
|
+
<xs:sequence>
|
16
|
+
<xs:element name="AddressType" type="xs:string" />
|
17
|
+
<xs:element minOccurs="0" name="AddressLine1" type="xs:string" />
|
18
|
+
<xs:element minOccurs="0" name="AddressLine2" type="xs:string" />
|
19
|
+
<xs:element minOccurs="0" name="AddressLine3" type="xs:string" />
|
20
|
+
<xs:element minOccurs="0" name="AddressLine4" type="xs:string" />
|
21
|
+
<xs:element minOccurs="0" name="City" type="xs:string" />
|
22
|
+
<xs:element minOccurs="0" name="Region" type="xs:string" />
|
23
|
+
<xs:element minOccurs="0" name="PostalCode" type="xs:unsignedShort" />
|
24
|
+
<xs:element minOccurs="0" name="Country" type="xs:string" />
|
25
|
+
</xs:sequence>
|
26
|
+
</xs:complexType>
|
27
|
+
</xs:element>
|
28
|
+
</xs:sequence>
|
29
|
+
</xs:complexType>
|
30
|
+
</xs:element>
|
31
|
+
<xs:element name="Phones">
|
32
|
+
<xs:complexType>
|
33
|
+
<xs:sequence>
|
34
|
+
<xs:element maxOccurs="unbounded" name="Phone">
|
35
|
+
<xs:complexType>
|
36
|
+
<xs:sequence>
|
37
|
+
<xs:element name="PhoneType" type="xs:string" />
|
38
|
+
<xs:element minOccurs="0" name="PhoneNumber" type="xs:unsignedInt" />
|
39
|
+
<xs:element minOccurs="0" name="PhoneAreaCode" type="xs:unsignedByte" />
|
40
|
+
<xs:element minOccurs="0" name="PhoneCountryCode" type="xs:unsignedByte" />
|
41
|
+
</xs:sequence>
|
42
|
+
</xs:complexType>
|
43
|
+
</xs:element>
|
44
|
+
</xs:sequence>
|
45
|
+
</xs:complexType>
|
46
|
+
</xs:element>
|
47
|
+
</xs:sequence>
|
48
|
+
</xs:complexType>
|
49
|
+
</xs:element>
|
50
|
+
</xs:schema>
|
@@ -0,0 +1,98 @@
|
|
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="InvoiceType" 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 name="Name" type="xs:string" />
|
12
|
+
<xs:element minOccurs="0" name="EmailAddress" type="xs:string" />
|
13
|
+
<xs:element name="Addresses">
|
14
|
+
<xs:complexType>
|
15
|
+
<xs:sequence>
|
16
|
+
<xs:element name="Address">
|
17
|
+
<xs:complexType>
|
18
|
+
<xs:sequence>
|
19
|
+
<xs:element name="AddressType" type="xs:string" />
|
20
|
+
<xs:element minOccurs="0" name="AddressLine1" type="xs:string" />
|
21
|
+
<xs:element minOccurs="0" name="AddressLine2" type="xs:string" />
|
22
|
+
<xs:element minOccurs="0" name="AddressLine3" type="xs:string" />
|
23
|
+
<xs:element minOccurs="0" name="AddressLine4" type="xs:string" />
|
24
|
+
<xs:element minOccurs="0" name="City" type="xs:string" />
|
25
|
+
<xs:element minOccurs="0" name="Region" type="xs:string" />
|
26
|
+
<xs:element minOccurs="0" name="PostalCode" type="xs:unsignedShort" />
|
27
|
+
<xs:element minOccurs="0" name="Country" type="xs:string" />
|
28
|
+
</xs:sequence>
|
29
|
+
</xs:complexType>
|
30
|
+
</xs:element>
|
31
|
+
</xs:sequence>
|
32
|
+
</xs:complexType>
|
33
|
+
</xs:element>
|
34
|
+
<xs:element minOccurs="0" name="Phones">
|
35
|
+
<xs:complexType>
|
36
|
+
<xs:sequence>
|
37
|
+
<xs:element maxOccurs="unbounded" name="Phone">
|
38
|
+
<xs:complexType>
|
39
|
+
<xs:sequence>
|
40
|
+
<xs:element name="PhoneType" type="xs:string" />
|
41
|
+
<xs:element minOccurs="0" name="PhoneNumber" type="xs:unsignedInt" />
|
42
|
+
<xs:element minOccurs="0" name="PhoneAreaCode" type="xs:unsignedByte" />
|
43
|
+
<xs:element minOccurs="0" name="PhoneCountryCode" type="xs:unsignedByte" />
|
44
|
+
</xs:sequence>
|
45
|
+
</xs:complexType>
|
46
|
+
</xs:element>
|
47
|
+
</xs:sequence>
|
48
|
+
</xs:complexType>
|
49
|
+
</xs:element>
|
50
|
+
</xs:sequence>
|
51
|
+
</xs:complexType>
|
52
|
+
</xs:element>
|
53
|
+
<xs:element name="InvoiceDate" type="xs:dateTime" />
|
54
|
+
<xs:element minOccurs="0" name="DueDate" type="xs:dateTime" />
|
55
|
+
<xs:element name="InvoiceNumber" type="xs:string" />
|
56
|
+
<xs:element minOccurs="0" name="Reference" type="xs:string" />
|
57
|
+
<xs:element minOccurs="0" name="TaxInclusive" type="xs:boolean" />
|
58
|
+
<xs:element minOccurs="0" name="IncludesTax" type="xs:boolean" />
|
59
|
+
<xs:element minOccurs="0" name="SubTotal" type="xs:decimal" />
|
60
|
+
<xs:element minOccurs="0" name="TotalTax" type="xs:decimal" />
|
61
|
+
<xs:element minOccurs="0" name="Total" type="xs:decimal" />
|
62
|
+
<xs:element name="LineItems">
|
63
|
+
<xs:complexType>
|
64
|
+
<xs:sequence>
|
65
|
+
<xs:element maxOccurs="unbounded" name="LineItem">
|
66
|
+
<xs:complexType>
|
67
|
+
<xs:sequence>
|
68
|
+
<xs:element name="Description" type="xs:string" />
|
69
|
+
<xs:element minOccurs="0" name="Quantity" type="xs:decimal" />
|
70
|
+
<xs:element name="UnitAmount" type="xs:decimal" />
|
71
|
+
<xs:element minOccurs="0" name="TaxType" type="xs:string" />
|
72
|
+
<xs:element name="TaxAmount" type="xs:decimal" />
|
73
|
+
<xs:element name="LineAmount" type="xs:decimal" />
|
74
|
+
<xs:element name="AccountCode" type="xs:string" />
|
75
|
+
<xs:element name="Tracking">
|
76
|
+
<xs:complexType>
|
77
|
+
<xs:sequence>
|
78
|
+
<xs:element name="TrackingCategory">
|
79
|
+
<xs:complexType>
|
80
|
+
<xs:sequence>
|
81
|
+
<xs:element name="Name" type="xs:string" />
|
82
|
+
<xs:element name="Option" type="xs:string" />
|
83
|
+
</xs:sequence>
|
84
|
+
</xs:complexType>
|
85
|
+
</xs:element>
|
86
|
+
</xs:sequence>
|
87
|
+
</xs:complexType>
|
88
|
+
</xs:element>
|
89
|
+
</xs:sequence>
|
90
|
+
</xs:complexType>
|
91
|
+
</xs:element>
|
92
|
+
</xs:sequence>
|
93
|
+
</xs:complexType>
|
94
|
+
</xs:element>
|
95
|
+
</xs:sequence>
|
96
|
+
</xs:complexType>
|
97
|
+
</xs:element>
|
98
|
+
</xs:schema>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "xero_gateway"
|
3
|
+
s.version = "1.0.0"
|
4
|
+
s.date = "2008-12-01"
|
5
|
+
s.summary = "Enables ruby based applications to communicate with the Xero API"
|
6
|
+
s.email = "tlconnor@gmail.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"]
|
11
|
+
s.add_dependency('builder', '>= 2.1.2')
|
12
|
+
s.files = ["README.textile",
|
13
|
+
"CHANGELOG.textile",
|
14
|
+
"LICENSE",
|
15
|
+
"Rakefile",
|
16
|
+
"lib/xero_gateway.rb",
|
17
|
+
"lib/xero_gateway/account.rb",
|
18
|
+
"lib/xero_gateway/address.rb",
|
19
|
+
"lib/xero_gateway/contact.rb",
|
20
|
+
"lib/xero_gateway/dates.rb",
|
21
|
+
"lib/xero_gateway/gateway.rb",
|
22
|
+
"lib/xero_gateway/http.rb",
|
23
|
+
"lib/xero_gateway/invoice.rb",
|
24
|
+
"lib/xero_gateway/line_item.rb",
|
25
|
+
"lib/xero_gateway/money.rb",
|
26
|
+
"lib/xero_gateway/phone.rb",
|
27
|
+
"lib/xero_gateway/response.rb",
|
28
|
+
"lib/xero_gateway/messages/account_message.rb",
|
29
|
+
"lib/xero_gateway/messages/contact_message.rb",
|
30
|
+
"lib/xero_gateway/messages/invoice_message.rb",
|
31
|
+
"test/test_helper.rb",
|
32
|
+
"test/unit/messages/contact_message_test.rb",
|
33
|
+
"test/unit/messages/invoice_message_test.rb",
|
34
|
+
"test/integration/gateway_test.rb",
|
35
|
+
"test/integration/stub_responses/accounts.xml",
|
36
|
+
"test/integration/stub_responses/contact.xml",
|
37
|
+
"test/integration/stub_responses/contacts.xml",
|
38
|
+
"test/integration/stub_responses/invoice.xml",
|
39
|
+
"test/integration/stub_responses/invoices.xml",
|
40
|
+
"test/xsd/README",
|
41
|
+
"test/xsd/create_contact.xsd",
|
42
|
+
"test/xsd/create_invoice.xsd",
|
43
|
+
"xero_gateway.gemspec"]
|
44
|
+
end
|
metadata
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tlconnor-xero_gateway
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tim Connor
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-12-01 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: builder
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.1.2
|
23
|
+
version:
|
24
|
+
description: Enables ruby based applications to communicate with the Xero API
|
25
|
+
email: tlconnor@gmail.com
|
26
|
+
executables: []
|
27
|
+
|
28
|
+
extensions: []
|
29
|
+
|
30
|
+
extra_rdoc_files: []
|
31
|
+
|
32
|
+
files:
|
33
|
+
- README.textile
|
34
|
+
- CHANGELOG.textile
|
35
|
+
- LICENSE
|
36
|
+
- Rakefile
|
37
|
+
- lib/xero_gateway.rb
|
38
|
+
- lib/xero_gateway/account.rb
|
39
|
+
- lib/xero_gateway/address.rb
|
40
|
+
- lib/xero_gateway/contact.rb
|
41
|
+
- lib/xero_gateway/dates.rb
|
42
|
+
- lib/xero_gateway/gateway.rb
|
43
|
+
- lib/xero_gateway/http.rb
|
44
|
+
- lib/xero_gateway/invoice.rb
|
45
|
+
- lib/xero_gateway/line_item.rb
|
46
|
+
- lib/xero_gateway/money.rb
|
47
|
+
- lib/xero_gateway/phone.rb
|
48
|
+
- lib/xero_gateway/response.rb
|
49
|
+
- lib/xero_gateway/messages/account_message.rb
|
50
|
+
- lib/xero_gateway/messages/contact_message.rb
|
51
|
+
- lib/xero_gateway/messages/invoice_message.rb
|
52
|
+
- test/test_helper.rb
|
53
|
+
- test/unit/messages/contact_message_test.rb
|
54
|
+
- test/unit/messages/invoice_message_test.rb
|
55
|
+
- test/integration/gateway_test.rb
|
56
|
+
- test/integration/stub_responses/accounts.xml
|
57
|
+
- test/integration/stub_responses/contact.xml
|
58
|
+
- test/integration/stub_responses/contacts.xml
|
59
|
+
- test/integration/stub_responses/invoice.xml
|
60
|
+
- test/integration/stub_responses/invoices.xml
|
61
|
+
- test/xsd/README
|
62
|
+
- test/xsd/create_contact.xsd
|
63
|
+
- test/xsd/create_invoice.xsd
|
64
|
+
- xero_gateway.gemspec
|
65
|
+
has_rdoc: false
|
66
|
+
homepage: http://github.com/tlconnor/xero_gateway
|
67
|
+
post_install_message:
|
68
|
+
rdoc_options: []
|
69
|
+
|
70
|
+
require_paths:
|
71
|
+
- lib
|
72
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: "0"
|
77
|
+
version:
|
78
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: "0"
|
83
|
+
version:
|
84
|
+
requirements: []
|
85
|
+
|
86
|
+
rubyforge_project:
|
87
|
+
rubygems_version: 1.2.0
|
88
|
+
signing_key:
|
89
|
+
specification_version: 2
|
90
|
+
summary: Enables ruby based applications to communicate with the Xero API
|
91
|
+
test_files: []
|
92
|
+
|