class MoneyMove < ApplicationRecord belongs_to :homie def create_move(params) common_params = { description: params[:description] } move_from = MoneyMove.new( common_params + { homie_id: params[:from_homie_id], amount: -BigDecimal.new(params[:amount]) } ) move_to = MoneyMove.new( common_params + { homie_id: params[:from_homie_id], amount: BigDecimal.new(params[:amount]) } ) MoneyMove.transaction do move_from.save! move_to.save! end end end