23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/effective_reports.rb', line 23
def self.reportable_classes
names = []
tenant = Tenant.module_name if defined?(Tenant)
if defined?(Devise)
names += [[tenant, 'User'].compact.join('::')]
end
if defined?(EffectiveMemberships)
names += [
([tenant, 'Applicant'].compact.join('::')),
([tenant, 'ApplicantReference'].compact.join('::')),
([tenant, 'ApplicantReview'].compact.join('::')),
"Effective::Fee",
"Effective::Membership",
"Effective::MembershipHistory"
]
end
if defined?(EffectiveCpd)
names += [
([tenant, 'CpdAudit'].compact.join('::')),
([tenant, 'CpdAuditReview'].compact.join('::')),
([tenant, 'CpdStatement'].compact.join('::')),
"Effective::CpdCategory",
"Effective::CpdStatementActivity"
]
end
if defined?(EffectiveOrders)
names += ['Effective::Order']
end
if additional_class_names.present?
names += Array(additional_class_names)
end
klasses = names.uniq.sort.map(&:safe_constantize).compact
klasses.select { |klass| klass.try(:acts_as_reportable?) }
end
|