11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/keepr/active_record_extension.rb', line 11
def is_keepr_accountable
has_many :keepr_journals, :class_name => 'Keepr::Journal', :as => :accountable
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
|