Module: Keepr::ActiveRecordExtension::ClassMethods
- Defined in:
- lib/keepr/active_record_extension.rb
Instance Method Summary collapse
- #has_keepr_journals ⇒ Object
- #has_keepr_postings ⇒ Object
- #has_many_keepr_accounts ⇒ Object
- #has_one_keepr_account ⇒ Object
Instance Method Details
#has_keepr_journals ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/keepr/active_record_extension.rb', line 17 def has_keepr_journals has_many :keepr_journals, :class_name => 'Keepr::Journal', :as => :accountable, :dependent => :restrict_with_error class_eval <<-EOT def keepr_booked? keepr_journals.exists? end scope :keepr_unbooked, -> { joins('LEFT JOIN keepr_journals ON keepr_journals.accountable_id = #{table_name}.id AND keepr_journals.accountable_type="#{base_class.name}"'). where('keepr_journals.id' => nil) } scope :keepr_booked, -> { joins(:keepr_journals) } EOT end |
#has_keepr_postings ⇒ Object
33 34 35 |
# File 'lib/keepr/active_record_extension.rb', line 33 def has_keepr_postings has_many :keepr_postings, :class_name => 'Keepr::Posting', :as => :accountable, :dependent => :restrict_with_error end |
#has_many_keepr_accounts ⇒ Object
12 13 14 15 |
# File 'lib/keepr/active_record_extension.rb', line 12 def has_many_keepr_accounts has_many :keepr_accounts, :class_name => 'Keepr::Account', :as => :accountable, :dependent => :restrict_with_error has_many :keepr_postings, :class_name => 'Keepr::Posting', :through => :keepr_accounts, :dependent => :restrict_with_error end |
#has_one_keepr_account ⇒ Object
7 8 9 10 |
# File 'lib/keepr/active_record_extension.rb', line 7 def has_one_keepr_account has_one :keepr_account, :class_name => 'Keepr::Account', :as => :accountable, :dependent => :restrict_with_error has_many :keepr_postings, :class_name => 'Keepr::Posting', :through => :keepr_account, :dependent => :restrict_with_error end |