app/models/booking.rb~ in has_accounts-0.4.0 vs app/models/booking.rb~ in has_accounts-0.4.1

- old
+ new

@@ -1,13 +1,34 @@ class Booking < ActiveRecord::Base # Validation validates_presence_of :debit_account, :credit_account, :title, :amount, :value_date validates_time :value_date - # Associations + # Account belongs_to :debit_account, :foreign_key => 'debit_account_id', :class_name => "Account" belongs_to :credit_account, :foreign_key => 'credit_account_id', :class_name => "Account" + def direct_account + return nil unless reference + + return reference.direct_account if reference.respond_to? :direct_account + end + + def contra_account(account = nil) + # Derive from direct_account if available + account ||= direct_account + + return unless account + + if debit_account == account + return credit_account + elsif credit_account == account + return debit_account + else + return nil + end + end + # Scoping default_scope order('value_date, id') scope :by_value_date, lambda {|value_date| where(:value_date => value_date) } scope :by_value_period, lambda {|from, to| where(:value_date => (from..to)) }