finale 0.1.8 → 0.1.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2c24853cdd28f35e4bbc72e939de1a7f095b949e
4
- data.tar.gz: 73f69bce0a8cf7495b0f4cc4c30f73071576a713
3
+ metadata.gz: 98b36a44709d216cb6877a747bf136a4b9f40aea
4
+ data.tar.gz: fc7dd2415931b9b2cc0918f02bbd6fa8e71643d0
5
5
  SHA512:
6
- metadata.gz: f7513a94c2d1e8147a230eb9033fb05773b9a56720dd07a922e80078abb234b82272a30d47b961d1ea403036f3a1e52d9be4e9ec61dccbd0eaca3bf2b636060f
7
- data.tar.gz: 5bef4e9b1df149fcaf3f5e8ec3676cea0e2971e593de34d09c101ebdb1ef818613aeb960a739f78c3906ce985dc9064df4f9a71ae6c5c415e7da272f54dac137
6
+ metadata.gz: 13438cd8b0c458feb5bb9187623a4f7dce169fba935e29ca27f1ecb4c80b615df00f7d22fbb44b1c02b7aa41df7b7893089f76b82e4281b5b014c3c92f658ea6
7
+ data.tar.gz: 8af2cbe806488e659302cb71007167c70fb4981dd5167b84f1c1173d52142abfd780e8de5b982d01b8142147875e9ebbce0a01685d818c0bf06f69c913571cca
@@ -9,8 +9,8 @@ require_relative"shipment"
9
9
 
10
10
  module Finale
11
11
  class Client
12
- MAX_REQUESTS = 100 # Finale API Usage: 'https://support.finaleinventory.com/hc/en-us/articles/115007830648-Getting-Started'
13
- BASE_URL = 'https://app.finaleinventory.com'
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(MAX_REQUESTS) if @request_count >= MAX_REQUESTS
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
@@ -5,7 +5,7 @@ module Finale
5
5
  end
6
6
 
7
7
  def order_id
8
- self.primaryOrderUrl.split('/')&.last
8
+ self.primaryOrderUrl&.split('/')&.last
9
9
  end
10
10
  end
11
11
  end
@@ -1,3 +1,3 @@
1
1
  module Finale
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Poppler