Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def self.redeem_and_return(code)
- DB.transaction do
- dataset = DB[:fcm_promo_codes].where(promo_code: code)
- found_code = dataset.first
- return nil unless found_code
- return 20 unless found_code[:amount_released] == 0
- num_redeemed = DB[:fcm_promo_codes].where{amount_released > 0}.count
- prize_amount = prize_for(num_redeemed + 1)
- dataset.update(amount_released: prize_amount, redeemed_on:
- Sequel.function(:NOW))
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement