finale 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/finale/client.rb +16 -5
- data/lib/finale/shipment.rb +1 -1
- data/lib/finale/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98b36a44709d216cb6877a747bf136a4b9f40aea
|
4
|
+
data.tar.gz: fc7dd2415931b9b2cc0918f02bbd6fa8e71643d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13438cd8b0c458feb5bb9187623a4f7dce169fba935e29ca27f1ecb4c80b615df00f7d22fbb44b1c02b7aa41df7b7893089f76b82e4281b5b014c3c92f658ea6
|
7
|
+
data.tar.gz: 8af2cbe806488e659302cb71007167c70fb4981dd5167b84f1c1173d52142abfd780e8de5b982d01b8142147875e9ebbce0a01685d818c0bf06f69c913571cca
|
data/lib/finale/client.rb
CHANGED
@@ -9,8 +9,8 @@ require_relative"shipment"
|
|
9
9
|
|
10
10
|
module Finale
|
11
11
|
class Client
|
12
|
-
|
13
|
-
BASE_URL
|
12
|
+
REQUEST_LIMIT = 500 # Finale API Usage: 'https://support.finaleinventory.com/hc/en-us/articles/115007830648-Getting-Started'
|
13
|
+
BASE_URL = 'https://app.finaleinventory.com'
|
14
14
|
|
15
15
|
def initialize(account)
|
16
16
|
@cookies = nil
|
@@ -30,19 +30,30 @@ module Finale
|
|
30
30
|
request(verb: :LOGIN, payload: payload)
|
31
31
|
end
|
32
32
|
|
33
|
+
def get_shipment(id)
|
34
|
+
response = request(verb: :GET, url: "#{@shipment_url}/#{id}")
|
35
|
+
Shipment.new(response)
|
36
|
+
end
|
37
|
+
|
33
38
|
def get_order(id)
|
34
39
|
response = request(verb: :GET, url: "#{@order_url}/#{id}")
|
35
40
|
Order.new(response)
|
36
41
|
end
|
37
42
|
|
38
|
-
def get_orders(filter: nil)
|
43
|
+
def get_orders(filter: {}, order_type_id: nil, last_updated_date: nil)
|
44
|
+
filter.merge!(lastUpdatedDate: last_updated_date) if last_updated_date.present?
|
45
|
+
filter.merge!(orderTypeId: [order_type_id, order_type_id]) if order_type_id.present?
|
46
|
+
|
39
47
|
resp_orders = request(verb: :GET, url: @order_url, filter: filter )
|
40
48
|
rows = column_major_to_row_major(resp_orders)
|
41
49
|
orders = rows.map { |r| Order.new(r) }
|
42
50
|
orders
|
43
51
|
end
|
44
52
|
|
45
|
-
def get_shipments(filter: nil)
|
53
|
+
def get_shipments(filter: {}, shipment_type_id: nil, last_updated_date: nil)
|
54
|
+
filter.merge!(lastUpdatedDate: last_updated_date) if last_updated_date.present?
|
55
|
+
filter.merge!(shipmentTypeId: [shipment_type_id, shipment_type_id]) if shipment_type_id.present?
|
56
|
+
|
46
57
|
resp_shipments = request(verb: :GET, url: @shipment_url, filter: filter )
|
47
58
|
rows = column_major_to_row_major(resp_shipments)
|
48
59
|
shipments = rows.map { |r| Shipment.new(r) }
|
@@ -81,7 +92,7 @@ module Finale
|
|
81
92
|
end
|
82
93
|
|
83
94
|
def request(verb: nil, url: nil, payload: nil, filter: nil)
|
84
|
-
raise MaxRequests.new(
|
95
|
+
raise MaxRequests.new(REQUEST_LIMIT) if @request_count >= REQUEST_LIMIT
|
85
96
|
raise NotLoggedIn.new(verb: verb, url: url) unless verb == :LOGIN || !@cookies.nil?
|
86
97
|
|
87
98
|
case verb
|
data/lib/finale/shipment.rb
CHANGED
data/lib/finale/version.rb
CHANGED