Module: Keepr::ActiveRecordExtension::ClassMethods

Defined in:
lib/keepr/active_record_extension.rb

Instance Method Summary collapse

Instance Method Details

#has_keepr_journalsObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/keepr/active_record_extension.rb', line 19

def has_keepr_journals
  has_many :keepr_journals, class_name: 'Keepr::Journal', as: :accountable, dependent: :restrict_with_error

  class_eval "    def keepr_booked?\n      keepr_journals.exists?\n    end\n\n    scope :keepr_unbooked, -> {\n                                joins('LEFT JOIN keepr_journals ON keepr_journals.accountable_id = \#{table_name}.id AND keepr_journals.accountable_type=\"\#{base_class.name}\"').\n                                where('keepr_journals.id' => nil)\n                              }\n    scope :keepr_booked,   -> { joins(:keepr_journals) }\n  CODE\nend\n", __FILE__, __LINE__ + 1

#has_keepr_postingsObject



35
36
37
# File 'lib/keepr/active_record_extension.rb', line 35

def has_keepr_postings
  has_many :keepr_postings, class_name: 'Keepr::Posting', as: :accountable, dependent: :restrict_with_error
end

#has_many_keepr_accountsObject



14
15
16
17
# File 'lib/keepr/active_record_extension.rb', line 14

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_accountObject



9
10
11
12
# File 'lib/keepr/active_record_extension.rb', line 9

def 
  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