Prevent math errors in calculating ticket 'turnover'

This commit is contained in:
James Mason 2018-10-08 08:52:58 -07:00
parent d0f673b73d
commit 3031bb43cf
No known key found for this signature in database
GPG key ID: 1B3951886C449023
5 changed files with 7 additions and 13 deletions

View file

@ -63,11 +63,10 @@ class Ticket < ApplicationRecord
tickets.inject(0){ |sum, ticket| sum + (ticket.amount_paid * ticket.quantity) }
end
def tickets_turnover_total(id)
ticket = Ticket.find(id)
return Money.new(0, 'USD') unless ticket
sum = ticket.ticket_purchases.paid.total
Money.new(sum, ticket.price_currency)
def tickets_turnover_total
purchases = ticket_purchases.paid
total = purchases.sum { |purchase| (purchase.price_cents * purchase.quantity) }
Money.new(total, price_currency)
end
def tickets_sold