unleashed 0.1.15 → 0.1.16
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +9 -249
- data/docs/Company.md +19 -0
- data/docs/Currency.md +19 -0
- data/docs/Customer.md +165 -0
- data/docs/Invoice.md +41 -0
- data/docs/PaymentTerm.md +19 -0
- data/lib/unleashed/client.rb +4 -1
- data/lib/unleashed/models/company.rb +5 -0
- data/lib/unleashed/resources/company_resource.rb +38 -0
- data/lib/unleashed/resources/customer_resource.rb +1 -4
- data/lib/unleashed/resources/invoice_resource.rb +1 -4
- data/lib/unleashed/version.rb +1 -1
- data/unleashed.gemspec +1 -10
- metadata +13 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee9407d6e3e388a6398ec1bffe7f40b9d2a8d8be94fe8dbab1a512c3bc1caad9
|
4
|
+
data.tar.gz: a64d9632f3fb0867ff1df15307563324be5b4983d35f76e6c23f5e3f8a9e5788
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8bd91eb660d49c5b88aa674063efe780ce9953fe1e206eb1fb855c9f5d665eb60a303896c710d2eb3b66601ac49cb979e72f7189e11eabca80bf45821ce11752
|
7
|
+
data.tar.gz: b2ab21634ee32dd4fa9ed61116ba566949475749f52f6dbd5783f80409fd9459b40937d5e53799aa6d4cbcb1acb93f867e217ac694e1a853491c85cbb5a4075b
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [0.1.16] - 2020-04-10
|
6
|
+
|
7
|
+
- Add new model `Company` and resources.
|
8
|
+
- Update README and separate it to some docs.
|
9
|
+
|
5
10
|
## [0.1.15] - 2020-02-26
|
6
11
|
|
7
12
|
- Update and fix bugs for `client`, `currency`, `customer`, `invoice` resources.
|
data/README.md
CHANGED
@@ -70,255 +70,15 @@ options = { api_id: ENV['UNLEASHED_API_ID'], api_key: ENV['UNLEASHED_API_KEY'] }
|
|
70
70
|
client = Unleashed::Client.new(options)
|
71
71
|
```
|
72
72
|
|
73
|
-
|
73
|
+
## 4. Documentation for Models
|
74
74
|
|
75
|
-
|
75
|
+
* [Unleashed::Company](docs/Company.md)
|
76
|
+
* [Unleashed::Currency](docs/Currency.md)
|
77
|
+
* [Unleashed::Customer](docs/Customer.md)
|
78
|
+
* [Unleashed::Invoice](docs/Invoice.md)
|
79
|
+
* [Unleashed::PaymentTerm](docs/PaymentTerm.md)
|
76
80
|
|
77
|
-
|
78
|
-
customer = client.customers.create_or_update(
|
79
|
-
Guid: '59f21e05-07fe-4d9d-b460-a09db4c3caa9',
|
80
|
-
Addresses: [
|
81
|
-
{
|
82
|
-
AddressType: 'Shipping',
|
83
|
-
AddressName: 'Example Address',
|
84
|
-
StreetAddress: 'Example Address',
|
85
|
-
StreetAddress2: 'Example Address 2',
|
86
|
-
Suburb: 'Example Suburb',
|
87
|
-
City: 'Auckland',
|
88
|
-
Region: 'Auckland',
|
89
|
-
Country: 'New Zealand',
|
90
|
-
PostalCode: '1061',
|
91
|
-
IsDefault: false,
|
92
|
-
DeliveryInstruction: 'Have a good day'
|
93
|
-
}
|
94
|
-
],
|
95
|
-
TaxCode: '',
|
96
|
-
TaxRate: nil,
|
97
|
-
CustomerCode: 'UnleashedCustomer',
|
98
|
-
CustomerName: 'Unleashed Customer',
|
99
|
-
GSTVATNumber: nil,
|
100
|
-
BankName: nil,
|
101
|
-
BankBranch: nil,
|
102
|
-
BankAccount: nil,
|
103
|
-
Website: nil,
|
104
|
-
PhoneNumber: nil,
|
105
|
-
FaxNumber: nil,
|
106
|
-
MobileNumber: nil,
|
107
|
-
DDINumber: nil,
|
108
|
-
TollFreeNumber: nil,
|
109
|
-
Email: nil,
|
110
|
-
EmailCC: nil,
|
111
|
-
Currency: {
|
112
|
-
CurrencyCode: 'NZD',
|
113
|
-
Description: 'New Zealand, Dollars',
|
114
|
-
Guid: 'c33e4f50-e42b-40cd-9147-4d0e4657cd4d'
|
115
|
-
},
|
116
|
-
Notes: nil,
|
117
|
-
Taxable: true,
|
118
|
-
SalesPerson: nil,
|
119
|
-
DiscountRate: 0.0000,
|
120
|
-
PrintPackingSlipInsteadOfInvoice: false,
|
121
|
-
PrintInvoice: false,
|
122
|
-
StopCredit: false,
|
123
|
-
Obsolete: false,
|
124
|
-
XeroSalesAccount: nil,
|
125
|
-
XeroCostOfGoodsAccount: nil,
|
126
|
-
SellPriceTier: '',
|
127
|
-
SellPriceTierReference: nil,
|
128
|
-
CustomerType: 'Cash',
|
129
|
-
PaymentTerm: '20th Month following',
|
130
|
-
ContactFirstName: nil,
|
131
|
-
ContactLastName: nil
|
132
|
-
)
|
133
|
-
```
|
134
|
-
|
135
|
-
#### Update a Customer
|
136
|
-
|
137
|
-
```ruby
|
138
|
-
customer = client.customers.update(
|
139
|
-
Guid: '59f21e05-07fe-4d9d-b460-a09db4c3caa9',
|
140
|
-
Addresses: [
|
141
|
-
{
|
142
|
-
AddressType: 'Shipping',
|
143
|
-
AddressName: 'Example Address',
|
144
|
-
StreetAddress: 'Example Address',
|
145
|
-
StreetAddress2: 'Example Address 2',
|
146
|
-
Suburb: 'Example Suburb',
|
147
|
-
City: 'Auckland',
|
148
|
-
Region: 'Auckland',
|
149
|
-
Country: 'New Zealand',
|
150
|
-
PostalCode: '1061',
|
151
|
-
IsDefault: false,
|
152
|
-
DeliveryInstruction: 'Have a good day'
|
153
|
-
}
|
154
|
-
],
|
155
|
-
TaxCode: '',
|
156
|
-
TaxRate: nil,
|
157
|
-
CustomerCode: 'UnleashedCustomer',
|
158
|
-
CustomerName: 'Unleashed Customer',
|
159
|
-
GSTVATNumber: nil,
|
160
|
-
BankName: nil,
|
161
|
-
BankBranch: nil,
|
162
|
-
BankAccount: nil,
|
163
|
-
Website: nil,
|
164
|
-
PhoneNumber: nil,
|
165
|
-
FaxNumber: nil,
|
166
|
-
MobileNumber: nil,
|
167
|
-
DDINumber: nil,
|
168
|
-
TollFreeNumber: nil,
|
169
|
-
Email: nil,
|
170
|
-
EmailCC: nil,
|
171
|
-
Currency: {
|
172
|
-
CurrencyCode: 'NZD',
|
173
|
-
Description: 'New Zealand, Dollars',
|
174
|
-
Guid: '6cb5d67a-1c96-4fa8-bf59-b23c2d69f22a'
|
175
|
-
},
|
176
|
-
Notes: nil,
|
177
|
-
Taxable: true,
|
178
|
-
SalesPerson: nil,
|
179
|
-
DiscountRate: 0.0000,
|
180
|
-
PrintPackingSlipInsteadOfInvoice: false,
|
181
|
-
PrintInvoice: false,
|
182
|
-
StopCredit: false,
|
183
|
-
Obsolete: false,
|
184
|
-
XeroSalesAccount: nil,
|
185
|
-
XeroCostOfGoodsAccount: nil,
|
186
|
-
SellPriceTier: '',
|
187
|
-
SellPriceTierReference: nil,
|
188
|
-
CustomerType: 'Cash',
|
189
|
-
PaymentTerm: '20th Month following',
|
190
|
-
ContactFirstName: nil,
|
191
|
-
ContactLastName: nil
|
192
|
-
)
|
193
|
-
```
|
194
|
-
|
195
|
-
#### Get all customers
|
196
|
-
|
197
|
-
```ruby
|
198
|
-
# List all customers
|
199
|
-
# /Customers - also returns the first 200 customers because page number 1 is the default.
|
200
|
-
#
|
201
|
-
# @param options [Hash] Optional options.
|
202
|
-
# @option PageSize: Can ask for up to 200 customers. Default: 200
|
203
|
-
# @option Page: Page index. Default: 1
|
204
|
-
# @option CustomerType: Only returns customers that matches the specified customer type.
|
205
|
-
# @option SellPriceTier: Only returns customers that are assigned to the specified sell price tier.
|
206
|
-
# @option Currency: Only returns customers with currency code exactly matching the specified value.
|
207
|
-
# @option Customer: Returns customers whose customer code or customer name contains the specified value. It is case-sensitive.
|
208
|
-
# @option CustomerCode: Only returns customers that start with the specific customer code.
|
209
|
-
# @option CustomerName: Only returns customers that start with the specific customer name.
|
210
|
-
# @option ContactEmail: Only returns customers that have a contact email that starts with the specified email address.
|
211
|
-
# @option ModifiedSince: Only returns customers modified since a specified date.
|
212
|
-
# @option IncludeObsolete: Returns all customers, including obsolete, if set to `true`. If set to `false` or if it is not specified then returns only active (ie. non-obsolete) customers.
|
213
|
-
# @option XeroContactId: Only returns customers that start with the specific Xero Contact Id.
|
214
|
-
# @option OrderBy: Orders the list by `LastModifiedOn` or `CreatedOn` date. By default the list is ordered by `CustomerCode`.
|
215
|
-
# @option Sort: Orders the list by `CreatedOn` date sorted in ascending or descending order.
|
216
|
-
#
|
217
|
-
# @return [Array<Unleashed::Customer>] List all customers.
|
218
|
-
client.customers.all
|
219
|
-
```
|
220
|
-
|
221
|
-
#### Get a customer
|
222
|
-
|
223
|
-
```ruby
|
224
|
-
client.customers.find('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX')
|
225
|
-
```
|
226
|
-
|
227
|
-
#### Get the first customer
|
228
|
-
|
229
|
-
```ruby
|
230
|
-
client.customers.first
|
231
|
-
```
|
232
|
-
|
233
|
-
#### Get the last customer
|
234
|
-
|
235
|
-
```ruby
|
236
|
-
client.customers.last
|
237
|
-
```
|
238
|
-
|
239
|
-
### Invoices
|
240
|
-
|
241
|
-
#### Get all invoices
|
242
|
-
|
243
|
-
```ruby
|
244
|
-
# List all invoices
|
245
|
-
# /Invoices - also returns the first 200 invoices because page number 1 is the default.
|
246
|
-
#
|
247
|
-
# @param options [Hash] Optional options.
|
248
|
-
# @option Page: Page index. Default: 1
|
249
|
-
# @option PageSize: Specifies the page size for pagination. Default page size is 200 invoices.
|
250
|
-
# @option CustomerCode: Returns invoices that matches the specific customer code.
|
251
|
-
# @option StartDate: Returns invoices created after a specified date, must be UTC format.
|
252
|
-
# @option EndDate: Returns invoices created before a specified date, must be UTC format.
|
253
|
-
# @option ModifiedSince: Returns invoices created or edited after a specified date, must be UTC format.
|
254
|
-
# @option OrderNumber: Returns the invoices associated with the Sales Order Number.
|
255
|
-
# @option InvoiceNumber: Returns a single invoice with the specified invoice number. If set, it overrides all other filters.
|
256
|
-
# @option InvoiceStatus: Returns invoices with the specified status. Multiple selection can be specified as comma separated.For example: `invoiceStatus=Completed,Parked`. If no invoiceStatus filter is specified, then we exclude “Deleted” by default.
|
257
|
-
# @option SerialBatch: False by default. If set to true then the attributes SerialNumbers and BatchNumbers are displayed.
|
258
|
-
#
|
259
|
-
# @return [Array<Unleashed::Invoice>] List all invoices.
|
260
|
-
client.invoices.all
|
261
|
-
```
|
262
|
-
|
263
|
-
#### Get an invoice
|
264
|
-
|
265
|
-
```ruby
|
266
|
-
client.invoices.find('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX')
|
267
|
-
```
|
268
|
-
|
269
|
-
#### Get the first invoice
|
270
|
-
|
271
|
-
```ruby
|
272
|
-
client.invoices.first
|
273
|
-
```
|
274
|
-
|
275
|
-
#### Get the last invoice
|
276
|
-
|
277
|
-
```ruby
|
278
|
-
client.invoices.last
|
279
|
-
```
|
280
|
-
|
281
|
-
### Currencies
|
282
|
-
|
283
|
-
#### Get all currencies
|
284
|
-
|
285
|
-
```ruby
|
286
|
-
client.currencies.all
|
287
|
-
```
|
288
|
-
|
289
|
-
#### Get the first currency
|
290
|
-
|
291
|
-
```ruby
|
292
|
-
client.currencies.first
|
293
|
-
```
|
294
|
-
|
295
|
-
#### Get the last currency
|
296
|
-
|
297
|
-
```ruby
|
298
|
-
client.currencies.last
|
299
|
-
```
|
300
|
-
|
301
|
-
### Payment Terms
|
302
|
-
|
303
|
-
#### Get all payment terms
|
304
|
-
|
305
|
-
```ruby
|
306
|
-
client.payment_terms.all
|
307
|
-
```
|
308
|
-
|
309
|
-
#### Get the first payment term
|
310
|
-
|
311
|
-
```ruby
|
312
|
-
client.payment_terms.first
|
313
|
-
```
|
314
|
-
|
315
|
-
#### Get the last payment term
|
316
|
-
|
317
|
-
```ruby
|
318
|
-
client.payment_terms.last
|
319
|
-
```
|
320
|
-
|
321
|
-
## 4. Contributing
|
81
|
+
## 5. Contributing
|
322
82
|
|
323
83
|
1. Fork it [https://github.com/nnhansg/unleashed-ruby](https://github.com/nnhansg/unleashed-ruby)
|
324
84
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
@@ -326,10 +86,10 @@ client.payment_terms.last
|
|
326
86
|
4. Push to the branch (`git push origin my-new-feature`)
|
327
87
|
5. Create a new Pull Request
|
328
88
|
|
329
|
-
##
|
89
|
+
## 6. License
|
330
90
|
|
331
91
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
332
92
|
|
333
|
-
##
|
93
|
+
## 7. Code of Conduct
|
334
94
|
|
335
95
|
Everyone interacting in the Unleashed project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/nnhansg/unleashed-ruby/blob/master/CODE_OF_CONDUCT.md).
|
data/docs/Company.md
ADDED
data/docs/Currency.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# Unleashed::Currency
|
2
|
+
|
3
|
+
## Get all currencies
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
client.currencies.all
|
7
|
+
```
|
8
|
+
|
9
|
+
## Get the first currency
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
client.currencies.first
|
13
|
+
```
|
14
|
+
|
15
|
+
## Get the last currency
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
client.currencies.last
|
19
|
+
```
|
data/docs/Customer.md
ADDED
@@ -0,0 +1,165 @@
|
|
1
|
+
# Unleashed::Customer
|
2
|
+
|
3
|
+
## Create a new Customer
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
customer = client.customers.create_or_update(
|
7
|
+
Guid: '59f21e05-07fe-4d9d-b460-a09db4c3caa9',
|
8
|
+
Addresses: [
|
9
|
+
{
|
10
|
+
AddressType: 'Shipping',
|
11
|
+
AddressName: 'Example Address',
|
12
|
+
StreetAddress: 'Example Address',
|
13
|
+
StreetAddress2: 'Example Address 2',
|
14
|
+
Suburb: 'Example Suburb',
|
15
|
+
City: 'Auckland',
|
16
|
+
Region: 'Auckland',
|
17
|
+
Country: 'New Zealand',
|
18
|
+
PostalCode: '1061',
|
19
|
+
IsDefault: false,
|
20
|
+
DeliveryInstruction: 'Have a good day'
|
21
|
+
}
|
22
|
+
],
|
23
|
+
TaxCode: '',
|
24
|
+
TaxRate: nil,
|
25
|
+
CustomerCode: 'UnleashedCustomer',
|
26
|
+
CustomerName: 'Unleashed Customer',
|
27
|
+
GSTVATNumber: nil,
|
28
|
+
BankName: nil,
|
29
|
+
BankBranch: nil,
|
30
|
+
BankAccount: nil,
|
31
|
+
Website: nil,
|
32
|
+
PhoneNumber: nil,
|
33
|
+
FaxNumber: nil,
|
34
|
+
MobileNumber: nil,
|
35
|
+
DDINumber: nil,
|
36
|
+
TollFreeNumber: nil,
|
37
|
+
Email: nil,
|
38
|
+
EmailCC: nil,
|
39
|
+
Currency: {
|
40
|
+
CurrencyCode: 'NZD',
|
41
|
+
Description: 'New Zealand, Dollars',
|
42
|
+
Guid: 'c33e4f50-e42b-40cd-9147-4d0e4657cd4d'
|
43
|
+
},
|
44
|
+
Notes: nil,
|
45
|
+
Taxable: true,
|
46
|
+
SalesPerson: nil,
|
47
|
+
DiscountRate: 0.0000,
|
48
|
+
PrintPackingSlipInsteadOfInvoice: false,
|
49
|
+
PrintInvoice: false,
|
50
|
+
StopCredit: false,
|
51
|
+
Obsolete: false,
|
52
|
+
XeroSalesAccount: nil,
|
53
|
+
XeroCostOfGoodsAccount: nil,
|
54
|
+
SellPriceTier: '',
|
55
|
+
SellPriceTierReference: nil,
|
56
|
+
CustomerType: 'Cash',
|
57
|
+
PaymentTerm: '20th Month following',
|
58
|
+
ContactFirstName: nil,
|
59
|
+
ContactLastName: nil
|
60
|
+
)
|
61
|
+
```
|
62
|
+
|
63
|
+
## Update a Customer
|
64
|
+
|
65
|
+
```ruby
|
66
|
+
customer = client.customers.update(
|
67
|
+
Guid: '59f21e05-07fe-4d9d-b460-a09db4c3caa9',
|
68
|
+
Addresses: [
|
69
|
+
{
|
70
|
+
AddressType: 'Shipping',
|
71
|
+
AddressName: 'Example Address',
|
72
|
+
StreetAddress: 'Example Address',
|
73
|
+
StreetAddress2: 'Example Address 2',
|
74
|
+
Suburb: 'Example Suburb',
|
75
|
+
City: 'Auckland',
|
76
|
+
Region: 'Auckland',
|
77
|
+
Country: 'New Zealand',
|
78
|
+
PostalCode: '1061',
|
79
|
+
IsDefault: false,
|
80
|
+
DeliveryInstruction: 'Have a good day'
|
81
|
+
}
|
82
|
+
],
|
83
|
+
TaxCode: '',
|
84
|
+
TaxRate: nil,
|
85
|
+
CustomerCode: 'UnleashedCustomer',
|
86
|
+
CustomerName: 'Unleashed Customer',
|
87
|
+
GSTVATNumber: nil,
|
88
|
+
BankName: nil,
|
89
|
+
BankBranch: nil,
|
90
|
+
BankAccount: nil,
|
91
|
+
Website: nil,
|
92
|
+
PhoneNumber: nil,
|
93
|
+
FaxNumber: nil,
|
94
|
+
MobileNumber: nil,
|
95
|
+
DDINumber: nil,
|
96
|
+
TollFreeNumber: nil,
|
97
|
+
Email: nil,
|
98
|
+
EmailCC: nil,
|
99
|
+
Currency: {
|
100
|
+
CurrencyCode: 'NZD',
|
101
|
+
Description: 'New Zealand, Dollars',
|
102
|
+
Guid: '6cb5d67a-1c96-4fa8-bf59-b23c2d69f22a'
|
103
|
+
},
|
104
|
+
Notes: nil,
|
105
|
+
Taxable: true,
|
106
|
+
SalesPerson: nil,
|
107
|
+
DiscountRate: 0.0000,
|
108
|
+
PrintPackingSlipInsteadOfInvoice: false,
|
109
|
+
PrintInvoice: false,
|
110
|
+
StopCredit: false,
|
111
|
+
Obsolete: false,
|
112
|
+
XeroSalesAccount: nil,
|
113
|
+
XeroCostOfGoodsAccount: nil,
|
114
|
+
SellPriceTier: '',
|
115
|
+
SellPriceTierReference: nil,
|
116
|
+
CustomerType: 'Cash',
|
117
|
+
PaymentTerm: '20th Month following',
|
118
|
+
ContactFirstName: nil,
|
119
|
+
ContactLastName: nil
|
120
|
+
)
|
121
|
+
```
|
122
|
+
|
123
|
+
## Get all customers
|
124
|
+
|
125
|
+
```ruby
|
126
|
+
# List all customers
|
127
|
+
# /Customers - also returns the first 200 customers because page number 1 is the default.
|
128
|
+
#
|
129
|
+
# @param options [Hash] Optional options.
|
130
|
+
# @option PageSize: Can ask for up to 200 customers. Default: 200
|
131
|
+
# @option Page: Page index. Default: 1
|
132
|
+
# @option CustomerType: Only returns customers that matches the specified customer type.
|
133
|
+
# @option SellPriceTier: Only returns customers that are assigned to the specified sell price tier.
|
134
|
+
# @option Currency: Only returns customers with currency code exactly matching the specified value.
|
135
|
+
# @option Customer: Returns customers whose customer code or customer name contains the specified value. It is case-sensitive.
|
136
|
+
# @option CustomerCode: Only returns customers that start with the specific customer code.
|
137
|
+
# @option CustomerName: Only returns customers that start with the specific customer name.
|
138
|
+
# @option ContactEmail: Only returns customers that have a contact email that starts with the specified email address.
|
139
|
+
# @option ModifiedSince: Only returns customers modified since a specified date.
|
140
|
+
# @option IncludeObsolete: Returns all customers, including obsolete, if set to `true`. If set to `false` or if it is not specified then returns only active (ie. non-obsolete) customers.
|
141
|
+
# @option XeroContactId: Only returns customers that start with the specific Xero Contact Id.
|
142
|
+
# @option OrderBy: Orders the list by `LastModifiedOn` or `CreatedOn` date. By default the list is ordered by `CustomerCode`.
|
143
|
+
# @option Sort: Orders the list by `CreatedOn` date sorted in ascending or descending order.
|
144
|
+
#
|
145
|
+
# @return [Array<Unleashed::Customer>] List all customers.
|
146
|
+
client.customers.all
|
147
|
+
```
|
148
|
+
|
149
|
+
## Get a customer
|
150
|
+
|
151
|
+
```ruby
|
152
|
+
client.customers.find('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX')
|
153
|
+
```
|
154
|
+
|
155
|
+
## Get the first customer
|
156
|
+
|
157
|
+
```ruby
|
158
|
+
client.customers.first
|
159
|
+
```
|
160
|
+
|
161
|
+
## Get the last customer
|
162
|
+
|
163
|
+
```ruby
|
164
|
+
client.customers.last
|
165
|
+
```
|
data/docs/Invoice.md
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# Invoices
|
2
|
+
|
3
|
+
## Get all invoices
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
# List all invoices
|
7
|
+
# /Invoices - also returns the first 200 invoices because page number 1 is the default.
|
8
|
+
#
|
9
|
+
# @param options [Hash] Optional options.
|
10
|
+
# @option Page: Page index. Default: 1
|
11
|
+
# @option PageSize: Specifies the page size for pagination. Default page size is 200 invoices.
|
12
|
+
# @option CustomerCode: Returns invoices that matches the specific customer code.
|
13
|
+
# @option StartDate: Returns invoices created after a specified date, must be UTC format.
|
14
|
+
# @option EndDate: Returns invoices created before a specified date, must be UTC format.
|
15
|
+
# @option ModifiedSince: Returns invoices created or edited after a specified date, must be UTC format.
|
16
|
+
# @option OrderNumber: Returns the invoices associated with the Sales Order Number.
|
17
|
+
# @option InvoiceNumber: Returns a single invoice with the specified invoice number. If set, it overrides all other filters.
|
18
|
+
# @option InvoiceStatus: Returns invoices with the specified status. Multiple selection can be specified as comma separated.For example: `invoiceStatus=Completed,Parked`. If no invoiceStatus filter is specified, then we exclude “Deleted” by default.
|
19
|
+
# @option SerialBatch: False by default. If set to true then the attributes SerialNumbers and BatchNumbers are displayed.
|
20
|
+
#
|
21
|
+
# @return [Array<Unleashed::Invoice>] List all invoices.
|
22
|
+
client.invoices.all
|
23
|
+
```
|
24
|
+
|
25
|
+
## Get an invoice
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
client.invoices.find('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX')
|
29
|
+
```
|
30
|
+
|
31
|
+
## Get the first invoice
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
client.invoices.first
|
35
|
+
```
|
36
|
+
|
37
|
+
## Get the last invoice
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
client.invoices.last
|
41
|
+
```
|
data/docs/PaymentTerm.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# Payment Terms
|
2
|
+
|
3
|
+
## Get all payment terms
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
client.payment_terms.all
|
7
|
+
```
|
8
|
+
|
9
|
+
## Get the first payment term
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
client.payment_terms.first
|
13
|
+
```
|
14
|
+
|
15
|
+
## Get the last payment term
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
client.payment_terms.last
|
19
|
+
```
|
data/lib/unleashed/client.rb
CHANGED
@@ -5,11 +5,13 @@ require_relative 'models/customer'
|
|
5
5
|
require_relative 'models/invoice'
|
6
6
|
require_relative 'models/currency'
|
7
7
|
require_relative 'models/payment_term'
|
8
|
+
require_relative 'models/company'
|
8
9
|
require_relative 'resources/base_resource'
|
9
10
|
require_relative 'resources/customer_resource'
|
10
11
|
require_relative 'resources/invoice_resource'
|
11
12
|
require_relative 'resources/currency_resource'
|
12
13
|
require_relative 'resources/payment_term_resource'
|
14
|
+
require_relative 'resources/company_resource'
|
13
15
|
require 'json'
|
14
16
|
require 'faraday'
|
15
17
|
|
@@ -131,7 +133,8 @@ module Unleashed
|
|
131
133
|
customers: CustomerResource,
|
132
134
|
invoices: InvoiceResource,
|
133
135
|
currencies: CurrencyResource,
|
134
|
-
payment_terms: PaymentTermResource
|
136
|
+
payment_terms: PaymentTermResource,
|
137
|
+
companies: CompanyResource
|
135
138
|
}
|
136
139
|
end
|
137
140
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Unleashed
|
2
|
+
# The Companies resource allows Companies to be listed. An individual Company details can be
|
3
|
+
# viewed by appending its identifier (a GUID formatted as XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)
|
4
|
+
# to the URI. Here are some example URIs:
|
5
|
+
# /Companies - returns a list of Company related information.
|
6
|
+
#
|
7
|
+
# @see https://apidocs.unleashedsoftware.com/Companies
|
8
|
+
class CompanyResource < BaseResource
|
9
|
+
def model
|
10
|
+
Unleashed::Company
|
11
|
+
end
|
12
|
+
|
13
|
+
# Lists all information for your company
|
14
|
+
# /Companies - returns a list of Company related information.
|
15
|
+
#
|
16
|
+
# @return [Array<Unleashed::Company>] Lists all information for your company.
|
17
|
+
def all
|
18
|
+
endpoint = 'Companies'
|
19
|
+
response = JSON.parse(@client.get(endpoint).body)
|
20
|
+
companies = response.key?('Items') ? response['Items'] : []
|
21
|
+
companies.map { |attributes| Unleashed::Company.new(@client, attributes) }
|
22
|
+
end
|
23
|
+
|
24
|
+
# Get a first company in all
|
25
|
+
#
|
26
|
+
# @return [Unleashed::Company]
|
27
|
+
def first
|
28
|
+
all.first
|
29
|
+
end
|
30
|
+
|
31
|
+
# Get a last company in all
|
32
|
+
#
|
33
|
+
# @return [Unleashed::Company]
|
34
|
+
def last
|
35
|
+
all.last
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -35,10 +35,7 @@ module Unleashed
|
|
35
35
|
params = options.dup
|
36
36
|
|
37
37
|
# Handle Page option
|
38
|
-
if params[:Page].present?
|
39
|
-
endpoint << "/#{params[:Page]}"
|
40
|
-
end
|
41
|
-
|
38
|
+
endpoint << "/#{params[:Page]}" if params[:Page].present?
|
42
39
|
response = JSON.parse(@client.get(endpoint, params).body)
|
43
40
|
customers = response.key?('Items') ? response['Items'] : []
|
44
41
|
customers.map { |attributes| Unleashed::Customer.new(@client, attributes) }
|
@@ -66,10 +66,7 @@ module Unleashed
|
|
66
66
|
params = options.dup
|
67
67
|
|
68
68
|
# Handle Page option
|
69
|
-
if params[:Page].present?
|
70
|
-
endpoint << "/#{params[:Page]}"
|
71
|
-
end
|
72
|
-
|
69
|
+
endpoint << "/#{params[:Page]}" if params[:Page].present?
|
73
70
|
response = JSON.parse(@client.get(endpoint, params).body)
|
74
71
|
invoices = response.key?('Items') ? response['Items'] : []
|
75
72
|
invoices.map { |attributes| Unleashed::Invoice.new(@client, attributes) }
|
data/lib/unleashed/version.rb
CHANGED
data/unleashed.gemspec
CHANGED
@@ -13,15 +13,6 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = 'https://github.com/nnhansg/unleashed-ruby'
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
|
-
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
17
|
-
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
18
|
-
# if spec.respond_to?(:metadata)
|
19
|
-
# spec.metadata['allowed_push_host'] = 'https://github.com'
|
20
|
-
# else
|
21
|
-
# raise 'RubyGems 2.0 or newer is required to protect against ' \
|
22
|
-
# 'public gem pushes.'
|
23
|
-
# end
|
24
|
-
|
25
16
|
spec.metadata['homepage_uri'] = spec.homepage
|
26
17
|
spec.metadata['source_code_uri'] = 'https://github.com/nnhansg/unleashed-ruby/src/master/'
|
27
18
|
spec.metadata['changelog_uri'] = 'https://github.com/nnhansg/unleashed-ruby/src/master/CHANGELOG.md'
|
@@ -43,6 +34,6 @@ Gem::Specification.new do |spec|
|
|
43
34
|
spec.add_dependency 'faraday', '>= 0'
|
44
35
|
spec.add_dependency 'json', '>= 0'
|
45
36
|
spec.add_development_dependency 'bundler', '~> 1.16', '>= 1.16.1'
|
46
|
-
spec.add_development_dependency 'rake', '
|
37
|
+
spec.add_development_dependency 'rake', '>= 12.3.3'
|
47
38
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
48
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unleashed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nhan Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -62,16 +62,16 @@ dependencies:
|
|
62
62
|
name: rake
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- - "
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version:
|
67
|
+
version: 12.3.3
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- - "
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
74
|
+
version: 12.3.3
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rspec
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,6 +107,11 @@ files:
|
|
107
107
|
- bin/.keep
|
108
108
|
- bin/console
|
109
109
|
- bin/setup
|
110
|
+
- docs/Company.md
|
111
|
+
- docs/Currency.md
|
112
|
+
- docs/Customer.md
|
113
|
+
- docs/Invoice.md
|
114
|
+
- docs/PaymentTerm.md
|
110
115
|
- lib/.keep
|
111
116
|
- lib/unleashed.rb
|
112
117
|
- lib/unleashed/client.rb
|
@@ -114,11 +119,13 @@ files:
|
|
114
119
|
- lib/unleashed/default.rb
|
115
120
|
- lib/unleashed/error.rb
|
116
121
|
- lib/unleashed/models/base_model.rb
|
122
|
+
- lib/unleashed/models/company.rb
|
117
123
|
- lib/unleashed/models/currency.rb
|
118
124
|
- lib/unleashed/models/customer.rb
|
119
125
|
- lib/unleashed/models/invoice.rb
|
120
126
|
- lib/unleashed/models/payment_term.rb
|
121
127
|
- lib/unleashed/resources/base_resource.rb
|
128
|
+
- lib/unleashed/resources/company_resource.rb
|
122
129
|
- lib/unleashed/resources/currency_resource.rb
|
123
130
|
- lib/unleashed/resources/customer_resource.rb
|
124
131
|
- lib/unleashed/resources/invoice_resource.rb
|