effective_reports 0.4.12 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9852dc477db2847eecd5fc272dc23db8ae3f220d03775d9c3671975217296550
4
- data.tar.gz: 98566f117cdc3c7bd1ae7e66d9a69ffa6e5fb82eddf7a72ab77b1ddb2f51f02f
3
+ metadata.gz: 9525a2ed2528f5dc4bb5d4afdac268ce65fcd17a106b398251528ddf2a5c45ab
4
+ data.tar.gz: 4a702f0498d6d30ae93ede63904635276ed71071c3bdcd8d0e6fe166f64dbd31
5
5
  SHA512:
6
- metadata.gz: dd8d486c116f2648f1b7c1531b265a929a6afa8955b9340a79d7babd491b7e7fdd96ab2faa91d077614e994e0b2952e91b22607f021d5286722230f27fb5fa29
7
- data.tar.gz: 709072a687314a2ba18357a9c8bec19818df62fd5310ef4d888ab75cb97adac40e94755c90a1ae054bbf96ad1e3cee6cd48bafdbd81d33964bb224e1c08cfc3e
6
+ metadata.gz: 95cfa2e6eee485a89e1430b3b3df07e48043bcd84f654d66518f09e989606f2ac70cc52ec9cb6a05f0b21a12cd3bb50cd2bdcf0763eb3b2b8c98e9610c9c2537
7
+ data.tar.gz: 16eb2b4ccaa9a3aba101b5a8a90051b973b6873a9df5f393716b41ebd5df234e81e339ab5c8667d79889f1a456a444e4d36a7d8f9bd68affae1daa9bda27e03a
@@ -8,13 +8,14 @@ EffectiveReports.setup do |config|
8
8
  # This should extend from Effective::Reports
9
9
  # config.reports_class_name = 'Effective::Reports'
10
10
 
11
- # Reportable Class Names
12
- # The following classes will be available to build reports from
13
- # They must define acts_as_reportable to be included
14
- config.reportable_class_names = ['User', 'Effective::Order']
11
+ # Additional Reportable Class Names
12
+ # The gem automatically includes the tenant user, common tenant-overridden
13
+ # models, and shared Effective models. Add application-specific models here.
14
+ # They must define acts_as_reportable to be included.
15
+ config.additional_class_names = []
15
16
 
16
17
  # Mailer Settings
17
- # Please see config/initializers/effective_reports.rb for default effective_* gem mailer settings
18
+ # Please see config/initializers/effective_resources.rb for default effective_* gem mailer settings
18
19
  #
19
20
  # Configure the class responsible to send e-mails.
20
21
  # config.mailer = 'Effective::ReportsMailer'
@@ -1,3 +1,3 @@
1
1
  module EffectiveReports
2
- VERSION = '0.4.12'.freeze
2
+ VERSION = '0.5.0'.freeze
3
3
  end
@@ -10,7 +10,7 @@ module EffectiveReports
10
10
  # Database Tables
11
11
  :reports_table_name, :report_columns_table_name, :report_scopes_table_name,
12
12
 
13
- :reportable_class_names,
13
+ :additional_class_names,
14
14
 
15
15
  # Effective Gem
16
16
  :layout,
@@ -21,7 +21,47 @@ module EffectiveReports
21
21
  include EffectiveGem
22
22
 
23
23
  def self.reportable_classes
24
- Array(reportable_class_names).map(&:safe_constantize).select { |klass| klass.try(:acts_as_reportable?) }
24
+ names = []
25
+
26
+ tenant = Tenant.module_name if defined?(Tenant)
27
+
28
+ if defined?(Devise)
29
+ names += [[tenant, 'User'].compact.join('::')]
30
+ end
31
+
32
+ if defined?(EffectiveMemberships)
33
+ names += [
34
+ ([tenant, 'Applicant'].compact.join('::')),
35
+ ([tenant, 'ApplicantReference'].compact.join('::')),
36
+ ([tenant, 'ApplicantReview'].compact.join('::')),
37
+ "Effective::Fee",
38
+ "Effective::Membership",
39
+ "Effective::MembershipHistory"
40
+ ]
41
+ end
42
+
43
+ if defined?(EffectiveCpd)
44
+ names += [
45
+ ([tenant, 'CpdAudit'].compact.join('::')),
46
+ ([tenant, 'CpdAuditReview'].compact.join('::')),
47
+ ([tenant, 'CpdStatement'].compact.join('::')),
48
+ "Effective::CpdCategory",
49
+ "Effective::CpdStatementActivity"
50
+ ]
51
+ end
52
+
53
+ if defined?(EffectiveOrders)
54
+ names += ['Effective::Order']
55
+ end
56
+
57
+ if additional_class_names.present?
58
+ names += Array(additional_class_names)
59
+ end
60
+
61
+ # All Names into klasses
62
+ klasses = names.uniq.sort.map(&:safe_constantize).compact
63
+
64
+ klasses.select { |klass| klass.try(:acts_as_reportable?) }
25
65
  end
26
66
 
27
67
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_reports
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.12
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-05-06 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rails
@@ -221,7 +220,6 @@ homepage: https://github.com/code-and-effect/effective_reports
221
220
  licenses:
222
221
  - MIT
223
222
  metadata: {}
224
- post_install_message:
225
223
  rdoc_options: []
226
224
  require_paths:
227
225
  - lib
@@ -236,8 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
236
234
  - !ruby/object:Gem::Version
237
235
  version: '0'
238
236
  requirements: []
239
- rubygems_version: 3.5.9
240
- signing_key:
237
+ rubygems_version: 4.0.17
241
238
  specification_version: 4
242
239
  summary: A dynamic ActiveRecord report builder
243
240
  test_files: []