Class: Transactionable::Credit

Inherits:
Transaction
  • Object
show all
Defined in:
app/models/transactionable/credit.rb

Constant Summary

Constants inherited from Transaction

Transaction::TRANSACTION_TYPES

Instance Method Summary collapse

Methods inherited from Transaction

create_from_remote, #remote

Instance Method Details

#max_reversal_amountObject



13
14
15
# File 'app/models/transactionable/credit.rb', line 13

def max_reversal_amount
  amount - reversals.sum(:amount)
end

#reverse!(reversal_amount = nil) ⇒ Object



5
6
7
8
9
10
11
# File 'app/models/transactionable/credit.rb', line 5

def reverse!(reversal_amount = nil)
  ensure_valid_reversal(reversal_amount)
  remote_reversal = reversal_amount ? remote.reverse(amount: amount_in_cents(reversal_amount)) : remote.reverse
  transaction = Transactionable::Reversal.create_from_remote(remote_reversal)
  reversals << transaction
  transactionable.transactions << transaction
end