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 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