Class: Prodigi::OrderResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/prodigi/resources/orders.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#default_headers, #delete_request, #get_request, #handle_response, #initialize, #patch_request, #post_request, #put_request

Constructor Details

This class inherits a constructor from Prodigi::Resource

Instance Method Details

#actions(prodigi_order_id:) ⇒ Object



23
24
25
26
27
28
# File 'lib/prodigi/resources/orders.rb', line 23

def actions(prodigi_order_id:)
  response = get_request("orders/#{prodigi_order_id}/actions")
  if response.body.dig("outcome") == "Ok"
    Object.new response.body
  end
end

#cancel(prodigi_order_id:, **attributes) ⇒ Object



53
54
55
56
57
58
59
# File 'lib/prodigi/resources/orders.rb', line 53

def cancel(prodigi_order_id:, **attributes)
  response = post_request("orders/#{prodigi_order_id}/actions/cancel", 
                          body: attributes)
  if response.body.dig('outcome') == "Cancelled"
    Order.new response.body.dig('order')
  end
end

#create(**attributes) ⇒ Object



9
10
11
12
13
14
# File 'lib/prodigi/resources/orders.rb', line 9

def create(**attributes)
  response = post_request("orders", body: attributes)
  if response.body.dig("outcome") == "Created"
    Order.new response.body.dig("order")
  end
end

#list(**params) ⇒ Object



4
5
6
7
# File 'lib/prodigi/resources/orders.rb', line 4

def list(**params)
  response = get_request("orders", params: params)
  Collection.from_response(response, key: "orders", type: Order)
end

#retrieve(prodigi_order_id:) ⇒ Object



16
17
18
19
20
21
# File 'lib/prodigi/resources/orders.rb', line 16

def retrieve(prodigi_order_id:)
  response = get_request("orders/#{prodigi_order_id}")
  if response.body.dig("outcome") == "Ok"
    Order.new response.body.dig("order")
  end
end

#update_metadata(prodigi_order_id:, **attributes) ⇒ Object



46
47
48
49
50
51
# File 'lib/prodigi/resources/orders.rb', line 46

def (prodigi_order_id:, **attributes)
  response = post_request("orders/#{prodigi_order_id}/actions/updateMetadata", body: attributes)
  if response.body.dig("outcome") == "Updated"
    Order.new response.body.dig("order")
  end
end

#update_recipient(prodigi_order_id:, **attributes) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/prodigi/resources/orders.rb', line 38

def update_recipient(prodigi_order_id:, **attributes)
  response = post_request("orders/#{prodigi_order_id}/actions/updateRecipient",
                          body: attributes)
  if response.body.dig("outcome") == "Updated"
    Order.new response.body.dig("order")
  end
end

#update_shipping(prodigi_order_id:, **attributes) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/prodigi/resources/orders.rb', line 30

def update_shipping(prodigi_order_id:, **attributes)
  response = post_request("orders/#{prodigi_order_id}/actions/updateShipping",
                          body: attributes)
  if response.body.dig("outcome") == "Updated"
    Order.new response.body.dig("order")
  end
end