File tree Expand file tree Collapse file tree 1 file changed +7
-8
lines changed
ecommerce/processes/lib/processes Expand file tree Collapse file tree 1 file changed +7
-8
lines changed Original file line number Diff line number Diff line change @@ -39,7 +39,13 @@ def apply(event)
3939 def act
4040 case state
4141 in order : :accepted
42- update_order_state { reserve_stock }
42+ begin
43+ reserve_stock
44+ rescue SomeInventoryNotAvailable => exc
45+ reject_order ( exc . unavailable_products )
46+ else
47+ accept_order
48+ end
4349 in order : :cancelled
4450 release_stock ( state . reserved_product_ids )
4551 in order : :confirmed
@@ -66,13 +72,6 @@ def reserve_stock
6672 end
6773 end
6874
69- def update_order_state
70- yield
71- accept_order
72- rescue SomeInventoryNotAvailable => exc
73- reject_order ( exc . unavailable_products )
74- end
75-
7675 def release_stock ( product_ids )
7776 state . order_lines . slice ( *product_ids ) . each do |product_id , quantity |
7877 command_bus . ( Inventory ::Release . new ( product_id : product_id , quantity : quantity ) )
You can’t perform that action at this time.
0 commit comments