class Transaction

Public Instance Methods

checksum!() click to toggle source
# File lib/statements/models/transaction.rb, line 17
def checksum!
  self.checksum = calculate_checksum
end
credit?() click to toggle source
# File lib/statements/models/transaction.rb, line 21
def credit?
  amount > 0
end
debit?() click to toggle source
# File lib/statements/models/transaction.rb, line 25
def debit?
  amount < 0
end
set_account(name, number) click to toggle source
# File lib/statements/models/transaction.rb, line 10
def set_account(name, number)
  self.account = Account.find_or_create_by(
      name: name,
      number: number
  )
end

Private Instance Methods

calculate_checksum() click to toggle source
# File lib/statements/models/transaction.rb, line 31
def calculate_checksum
  parts = [
      account_id.to_s,
      transacted_at.strftime('%F'),
      posted_at.strftime('%F'),
      description,
      amount.to_s,
      balance.to_s
  ]
  Digest::SHA1.hexdigest parts.join "\0"
end