lipseys 6.1.1 → 6.2.0

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
- SHA1:
3
- metadata.gz: 881baed31ec66e1c6ffbbe6af28e5225c71bfb34
4
- data.tar.gz: ada5694aef0911ca1003ecc4b42bb87678f5e17c
2
+ SHA256:
3
+ metadata.gz: 476d6a49019423795a8589407de82386f4a5449d6f0ea9e042d6456ab2434111
4
+ data.tar.gz: 2fe21164e5d4b0adc8a379939e58029fc70f94d315cd371ed378ca7d91dda894
5
5
  SHA512:
6
- metadata.gz: 9f9aa20b9819d5189f7879ff306a181f6a9bc6d738b2b85e440b6ace52f0cc3e7617c0d404e771367d8a8febbbe25c7aca7d3107f6f0886c8739d7fb6aee778f
7
- data.tar.gz: bc61b73bf559e5ae52b050c6a2e2ac94f99a117912548cb6b96ebb95100acdd188097952063c3a1f05ec53f2082ded58c9851b99423460dd242a04ee49c5e3a2
6
+ metadata.gz: 0b29794adf369d924914cc50aad9c0010cd3037c10e005ef039af16cd1db3dc94ff9379dd111de413ac844df8532e94779f6697a125fcdc81cf68c440e01fb6d
7
+ data.tar.gz: eac1a25317b0600fabff13059bf11d7517a09ff48fbe6d4a6e33525175f39c0d9b0b75eba8a632cba156b4d7e446d797ff3922894629020ec81f78f35ffaa8c1
data/lib/lipseys/order.rb CHANGED
@@ -7,7 +7,7 @@ module Lipseys
7
7
 
8
8
  SUBMIT_TO_STORE_ATTRS = {
9
9
  permitted: %i( po_number disable_email items item_no quantity note ).freeze,
10
- required: %i( items item_no quantity ).freeze
10
+ required: %i( po_number items item_no quantity ).freeze
11
11
  }
12
12
 
13
13
  SUBMIT_TO_DROP_SHIP_ATTRS = {
@@ -18,15 +18,21 @@ module Lipseys
18
18
  items item_no quantity note overnight
19
19
  ).freeze,
20
20
  required: %i(
21
- po_number billing_name billing_address_line_1 billing_address_city billing_address_state billing_address_zip
21
+ po_number billing_name billing_address_line_1 billing_address_city billing_address_state billing_address_zip
22
22
  shipping_name shipping_address_line_1 shipping_address_city shipping_address_state shipping_address_zip
23
23
  items item_no quantity
24
24
  ).freeze
25
25
  }
26
26
 
27
+ SUBMIT_TO_DROP_SHIP_FIREARM_ATTRS = {
28
+ permitted: %i( ffl po name phone delay_shipping disable_email items item_no quantity note ).freeze,
29
+ required: %i( ffl po name phone items item_no quantity ).freeze
30
+ }
31
+
27
32
  ENDPOINTS = {
28
- submit_to_store: "order/apiorder".freeze,
29
- submit_to_drop_ship: "order/dropship".freeze,
33
+ submit_to_store: "order/apiorder".freeze,
34
+ submit_to_drop_ship: "order/dropship".freeze,
35
+ submit_to_drop_ship_firearm: "order/dropshipfirearm".freeze,
30
36
  }
31
37
 
32
38
  def initialize(client)
@@ -37,19 +43,45 @@ module Lipseys
37
43
  requires!(order_data, *SUBMIT_TO_STORE_ATTRS[:required])
38
44
 
39
45
  endpoint = ENDPOINTS[:submit_to_store]
46
+ order_data = standardize_body_data(order_data, SUBMIT_TO_STORE_ATTRS[:permitted])
47
+
40
48
  headers = [
41
49
  *auth_header(@client.access_token),
42
50
  *content_type_header('application/json'),
43
51
  ].to_h
44
52
 
45
- order_data = standardize_body_data(order_data, SUBMIT_TO_STORE_ATTRS[:permitted])
46
-
47
53
  post_request(endpoint, order_data, headers)
54
+
48
55
  end
49
56
 
50
57
  def submit_to_drop_ship(order_data)
51
- # NOTE: Will build this out as time permits.
52
- false
58
+ requires!(order_data, *SUBMIT_TO_DROP_SHIP_ATTRS[:required])
59
+
60
+ endpoint = ENDPOINTS[:submit_to_drop_ship]
61
+ order_data = standardize_body_data(order_data, SUBMIT_TO_DROP_SHIP_ATTRS[:permitted])
62
+
63
+ headers = [
64
+ *auth_header(@client.access_token),
65
+ *content_type_header('application/json'),
66
+ ].to_h
67
+
68
+ post_request(endpoint, order_data, headers)
69
+
70
+ end
71
+
72
+ def submit_to_drop_ship_firearm(order_data)
73
+ requires!(order_data, *SUBMIT_TO_DROP_SHIP_FIREARM_ATTRS[:required])
74
+
75
+ endpoint = ENDPOINTS[:submit_to_drop_ship_firearm]
76
+ order_data = standardize_body_data(order_data, SUBMIT_TO_DROP_SHIP_FIREARM_ATTRS[:permitted])
77
+
78
+ headers = [
79
+ *auth_header(@client.access_token),
80
+ *content_type_header('application/json'),
81
+ ].to_h
82
+
83
+ post_request(endpoint, order_data, headers)
84
+
53
85
  end
54
86
 
55
87
  end
@@ -38,7 +38,7 @@ module Lipseys
38
38
  end
39
39
 
40
40
  def success?
41
- !!self[:success] && self[:errors].empty?
41
+ !!self[:success]
42
42
  end
43
43
 
44
44
  end
@@ -1,3 +1,3 @@
1
1
  module Lipseys
2
- VERSION = '6.1.1'.freeze
2
+ VERSION = '6.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lipseys
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.1
4
+ version: 6.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeffrey Dill
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-22 00:00:00.000000000 Z
11
+ date: 2023-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -116,7 +116,7 @@ homepage: ''
116
116
  licenses:
117
117
  - MIT
118
118
  metadata: {}
119
- post_install_message:
119
+ post_install_message:
120
120
  rdoc_options: []
121
121
  require_paths:
122
122
  - lib
@@ -131,9 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  requirements: []
134
- rubyforge_project:
135
- rubygems_version: 2.6.14.1
136
- signing_key:
134
+ rubygems_version: 3.2.3
135
+ signing_key:
137
136
  specification_version: 4
138
137
  summary: Ruby library for Lipsey's API.
139
138
  test_files: []