Class: Xpost::Orders
- Inherits:
-
Object
- Object
- Xpost::Orders
- Defined in:
- lib/xpost/orders.rb
Class Method Summary collapse
-
.all(auth_token) ⇒ Object
cant actually get all orders since its paginated.
- .cancel(auth_token, tracking_number) ⇒ Object
- .confirm(auth_token, tracking_number, payment_reference_id) ⇒ Object
- .create(auth_token, options = {}) ⇒ Object
- .find(auth_token, tracking_number) ⇒ Object
- .for_pickup(auth_token, tracking_number, pickup_address) ⇒ Object
- .track(auth_token, tracking_number) ⇒ Object
Class Method Details
.all(auth_token) ⇒ Object
cant actually get all orders since its paginated
14 15 16 17 18 |
# File 'lib/xpost/orders.rb', line 14 def self.all(auth_token) all_orders_url = "orders" get_url(all_orders_url, headers: auth_header(auth_token)) end |
.cancel(auth_token, tracking_number) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/xpost/orders.rb', line 50 def self.cancel(auth_token, tracking_number) cancel_order_url = "orders/#{tracking_number}/cancel" res = put_url(cancel_order_url, headers: auth_header(auth_token)) res = res[:message] == "Not Found" ? "Not Found" : res end |
.confirm(auth_token, tracking_number, payment_reference_id) ⇒ Object
43 44 45 46 47 48 |
# File 'lib/xpost/orders.rb', line 43 def self.confirm(auth_token, tracking_number, payment_reference_id) confirm_order_url = "orders/#{tracking_number}/confirm" res = put_url(confirm_order_url, data: payment_reference_id, headers: auth_header(auth_token)) res = res[:message] == "Not Found" ? "Not Found" : res end |
.create(auth_token, options = {}) ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/xpost/orders.rb', line 34 def self.create(auth_token, = {}) raise "Missing order data" if [:order_data].empty? create_order_url = "orders" order_data = [:order_data] res = post_url(create_order_url, data: order_data, headers: auth_header(auth_token)) end |
.find(auth_token, tracking_number) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/xpost/orders.rb', line 20 def self.find(auth_token, tracking_number) find_order_url = "orders/#{tracking_number}" res = get_url(find_order_url, headers: auth_header(auth_token)) res = res[:message] == "Not Found" ? "Not Found" : res end |
.for_pickup(auth_token, tracking_number, pickup_address) ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/xpost/orders.rb', line 57 def self.for_pickup(auth_token, tracking_number, pickup_address) pickup_address = Xpost::Models::Address.new(pickup_address) for_pickup_url = "orders/#{tracking_number}/for-pickup" raise "Invalid address" unless pickup_address.valid? res = put_url(for_pickup_url, data: pickup_address, headers: auth_header(auth_token)) res = res[:message] == "Not Found" ? "Not Found" : res end |
.track(auth_token, tracking_number) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/xpost/orders.rb', line 27 def self.track(auth_token, tracking_number) track_order_url = "orders/#{tracking_number}" res = get_url(track_order_url, headers: auth_header(auth_token)) res = res[:message] == "Not Found" ? "Not Found" : { timeline: res[:tat], events: res[:events] } end |