Class: BankAccount

Inherits:
ApplicationRecord show all
Includes:
Models::Auditable
Defined in:
app/models/bank_account.rb

Overview

== Schema Information

Table name: bank_accounts
Database name: primary

id :integer not null, primary key
account_number :string(255)
check_enabled :boolean
name :string(255)
created_at :datetime
updated_at :datetime
bank_id :integer
cc_company_id :integer
ledger_company_account_id :integer
paypal_company_id :integer

Indexes

bank_accounts_bank_id_idx (bank_id)
bank_accounts_ledger_company_account_id_idx (ledger_company_account_id)
idx_cc_company_id (cc_company_id)
idx_paypal_company_id (paypal_company_id)

Foreign Keys

bank_accounts_bank_id_fkey (bank_id => banks.id)
bank_accounts_ledger_company_account_id_fkey (ledger_company_account_id => ledger_company_accounts.id)

Constant Summary

Constants included from Models::Auditable

Models::Auditable::ALWAYS_IGNORED

Belongs to collapse

Methods included from Models::Auditable

#creator, #updater

Has many collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Models::Auditable

#all_skipped_columns, #audit_reference_data, #should_not_save_version, #stamp_record

Methods inherited from ApplicationRecord

ransackable_associations, ransackable_attributes, ransackable_scopes, ransortable_attributes, #to_relation

Methods included from Models::EventPublishable

#publish_event

Class Method Details

.options_for_data_autocompleteObject



46
47
48
# File 'app/models/bank_account.rb', line 46

def self.options_for_data_autocomplete
  all.joins(:bank).pluck('bank_accounts.id,banks.company_id,bank_accounts.check_enabled,banks.name,bank_accounts.name')
end

.options_for_selectObject



42
43
44
# File 'app/models/bank_account.rb', line 42

def self.options_for_select
  all.joins(:bank).pluck("CONCAT(banks.name, ' - ', bank_accounts.name), bank_accounts.id".sql_safe).sort
end

Instance Method Details

#bankBank

Returns:

See Also:



33
# File 'app/models/bank_account.rb', line 33

belongs_to :bank, optional: true

#cc_companyCompany

Returns:

See Also:



34
# File 'app/models/bank_account.rb', line 34

belongs_to :cc_company, :class_name => 'Company', optional: true

#get_next_check_numberObject



58
59
60
61
# File 'app/models/bank_account.rb', line 58

def get_next_check_number
  seq = BankAccount.find_by_sql("SELECT nextval('bank_account_#{self.id}_check_numbers') AS check_number")
  return seq[0].check_number.to_s
end

#ledger_company_accountLedgerCompanyAccount



36
# File 'app/models/bank_account.rb', line 36

belongs_to :ledger_company_account, optional: true

#name_with_bankObject



54
55
56
# File 'app/models/bank_account.rb', line 54

def name_with_bank
  "#{bank.name} - #{name}"
end

#outgoing_paymentsActiveRecord::Relation<OutgoingPayment>

Returns:

See Also:



37
# File 'app/models/bank_account.rb', line 37

has_many :outgoing_payments

#paypal_companyCompany

Returns:

See Also:



35
# File 'app/models/bank_account.rb', line 35

belongs_to :paypal_company, :class_name => 'Company', optional: true

#receiptsActiveRecord::Relation<Receipt>

Returns:

  • (ActiveRecord::Relation<Receipt>)

See Also:



38
# File 'app/models/bank_account.rb', line 38

has_many :receipts

#to_sObject



50
51
52
# File 'app/models/bank_account.rb', line 50

def to_s
  "#{name_with_bank}"
end