Guest User

Untitled

a guest
Jun 18th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. def execute_purchase
  2. if credit_card_needed? or paypal_order?
  3. authorize_payment!
  4. end
  5. Product.connection.execute "savepoint quantity_update"
  6. product.decrement_quantity(self.quantity, self.product_style, self.product_size)
  7. rescue ActiveRecord::StatementInvalid => e
  8. Product.connection.execute "rollback to quantity_update"
  9. if e.message =~ /quantity_check/
  10. raise FulfillmentError, "not enough in stock"
  11. else
  12. raise
  13. end
  14. rescue StandardError => e
  15. errors.add_to_base e.message
  16. raise e
  17. end
Add Comment
Please, Sign In to add comment