Class: Lipseys::Order
Constant Summary collapse
- SUBMIT_TO_STORE_ATTRS =
{ permitted: %i( po_number disable_email items item_no quantity note ).freeze, required: %i( po_number items item_no quantity ).freeze }
- SUBMIT_TO_DROP_SHIP_ATTRS =
{ permitted: %i( warehouse po_number billing_name billing_address_line_1 billing_address_line_2 billing_address_city billing_address_state billing_address_zip shipping_name shipping_address_line_1 shipping_address_line_2 shipping_address_city shipping_address_state shipping_address_zip message_for_sales_exec disable_email items item_no quantity note overnight ).freeze, required: %i( po_number billing_name billing_address_line_1 billing_address_city billing_address_state billing_address_zip shipping_name shipping_address_line_1 shipping_address_city shipping_address_state shipping_address_zip items item_no quantity ).freeze }
- SUBMIT_TO_DROP_SHIP_FIREARM_ATTRS =
{ permitted: %i( ffl po name phone delay_shipping disable_email items item_no quantity note ).freeze, required: %i( ffl po name phone items item_no quantity ).freeze }
- ENDPOINTS =
{ submit_to_store: "order/apiorder".freeze, submit_to_drop_ship: "order/dropship".freeze, submit_to_drop_ship_firearm: "order/dropshipfirearm".freeze, }
Constants included from API
API::FILE_UPLOAD_ATTRS, API::ROOT_API_URL, API::USER_AGENT
Instance Method Summary collapse
-
#initialize(client) ⇒ Order
constructor
A new instance of Order.
- #submit_to_drop_ship(order_data) ⇒ Object
- #submit_to_drop_ship_firearm(order_data) ⇒ Object
- #submit_to_store(order_data) ⇒ Object
Methods included from API
#get_request, #post_file_request, #post_request
Constructor Details
#initialize(client) ⇒ Order
Returns a new instance of Order.
38 39 40 |
# File 'lib/lipseys/order.rb', line 38 def initialize(client) @client = client end |
Instance Method Details
#submit_to_drop_ship(order_data) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/lipseys/order.rb', line 57 def submit_to_drop_ship(order_data) requires!(order_data, *SUBMIT_TO_DROP_SHIP_ATTRS[:required]) endpoint = ENDPOINTS[:submit_to_drop_ship] order_data = standardize_body_data(order_data, SUBMIT_TO_DROP_SHIP_ATTRS[:permitted]) headers = [ *auth_header(@client.access_token), *content_type_header('application/json'), ].to_h post_request(endpoint, order_data, headers) end |
#submit_to_drop_ship_firearm(order_data) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/lipseys/order.rb', line 72 def submit_to_drop_ship_firearm(order_data) requires!(order_data, *SUBMIT_TO_DROP_SHIP_FIREARM_ATTRS[:required]) endpoint = ENDPOINTS[:submit_to_drop_ship_firearm] order_data = standardize_body_data(order_data, SUBMIT_TO_DROP_SHIP_FIREARM_ATTRS[:permitted]) headers = [ *auth_header(@client.access_token), *content_type_header('application/json'), ].to_h post_request(endpoint, order_data, headers) end |
#submit_to_store(order_data) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/lipseys/order.rb', line 42 def submit_to_store(order_data) requires!(order_data, *SUBMIT_TO_STORE_ATTRS[:required]) endpoint = ENDPOINTS[:submit_to_store] order_data = standardize_body_data(order_data, SUBMIT_TO_STORE_ATTRS[:permitted]) headers = [ *auth_header(@client.access_token), *content_type_header('application/json'), ].to_h post_request(endpoint, order_data, headers) end |