class BankAccount

Schema Information

Table name: bank_accounts

id              :integer          not null, primary key
user_id         :integer
name_on_account :string(255)
routing_number  :string(255)
account_number  :string(255)
account_type    :string(255)
uri             :string(255)
active          :boolean
created_at      :datetime
updated_at      :datetime
university_id      :integer

Constants

ACCOUNT_TYPES

passing a/c types

Public Instance Methods

add_or_update_to_balanced_payments() click to toggle source

To add/update account details to balance payments.

# File app/models/bank_account.rb, line 35
def add_or_update_to_balanced_payments
  if self.new_record?
    begin
      balanced_student = user.balanced_student
      account = Balanced::BankAccount.new(
        account_number: self.account_number,
        type: self.account_type.try(:upcase),
        name: self.name_on_account,
        routing_number: self.routing_number
        ).save
      self.uri = account.href
      self.account_number = account.account_number
    rescue => e
      logger.info e
      self.errors.add(:base, 'Invalid Account Details.')
      return false
    end
  end
end
balanced_bank_account() click to toggle source

To find account for balanced payment.

# File app/models/bank_account.rb, line 75
def balanced_bank_account
  if uri?
    Balanced::Card.find(uri)
  end
end
remove_from_balanced_payments() click to toggle source

To remove account from balance payments.

# File app/models/bank_account.rb, line 63
def remove_from_balanced_payments
  return false if active? or self.class.count == 1
  begin
    account = Balanced::BankAccount.find(uri)
    account.unstore
  rescue => e
    logger.info e
    return false
  end
end
setup_bank_account_state() click to toggle source

if active than deactivate bank account

# File app/models/bank_account.rb, line 56
def setup_bank_account_state
  if active?
    self.user.bank_accounts.where.not(id: id).update_all(active: false)
  end
end