handle settling records for homie
This commit is contained in:
@@ -10,4 +10,18 @@ class Homie < ApplicationRecord
|
||||
{ homie: homie, amount: total }
|
||||
end
|
||||
end
|
||||
|
||||
def settle
|
||||
total = MoneyMove.where(homie_id: id).all.sum(:amount)
|
||||
all_money_moves = MoneyMove.where(homie_id: id).all
|
||||
|
||||
transaction do
|
||||
all_money_moves.destroy_all
|
||||
|
||||
MoneyMove.create_settle_record(id, total)
|
||||
end
|
||||
true
|
||||
rescue StandardError => e
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
@@ -13,6 +13,16 @@ class MoneyMove < ApplicationRecord
|
||||
end
|
||||
end
|
||||
|
||||
def self.create_settle_record(homie_id, amount)
|
||||
new_desc = "Settled on #{DateTime.now.utc}"
|
||||
settle_record = MoneyMove.new(
|
||||
homie_id: homie_id,
|
||||
amount: amount,
|
||||
description: new_desc
|
||||
)
|
||||
settle_record.save
|
||||
end
|
||||
|
||||
class << self
|
||||
private
|
||||
|
||||
|
||||
Reference in New Issue
Block a user