effective_resources 2.39.0 → 2.40.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 +4 -4
- data/lib/effective_resources/effective_gem.rb +24 -1
- data/lib/effective_resources/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d40e6af3f4462f8e86aab9914919598680c3c0ac550bb3dfd5aa6d041602edef
|
|
4
|
+
data.tar.gz: 6a1f999236e9dcd9f633612f2f2fbdac0844430023adb021fc9f83aa1c58e727
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 20dbbb02219d7e360cd7c0d1d859233089394f330931be722c3c5894ef9545237d0cdb3f997dc217e3f48941f754c72a107a3f3b5e7ae78c5e4401d418f300bb
|
|
7
|
+
data.tar.gz: f5bd1ce1b2006c2e32b8c23f0366f50a4378b3ac13ee8b9c8a00bfec111c2818942af591f01dce1e90128c61b54c60155ab75770a2d26ed9d022d638fb4270c7
|
|
@@ -57,7 +57,14 @@ module EffectiveGem
|
|
|
57
57
|
raise('expected key to be a symbol') unless key.kind_of?(Symbol)
|
|
58
58
|
|
|
59
59
|
namespace = name.split('::').first.underscore.to_sym if name.include?('::')
|
|
60
|
-
|
|
60
|
+
resolve_class_name(key, namespace: namespace)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def klass(key, fallback: nil)
|
|
64
|
+
raise('expected key to be a symbol') unless key.kind_of?(Symbol)
|
|
65
|
+
|
|
66
|
+
namespace = Tenant.current if defined?(Tenant)
|
|
67
|
+
resolve_class_name(key, namespace: namespace, fallback: fallback).constantize
|
|
61
68
|
end
|
|
62
69
|
|
|
63
70
|
# Mailer Settings
|
|
@@ -111,6 +118,22 @@ module EffectiveGem
|
|
|
111
118
|
raise(e) unless Rails.env.production? || Rails.env.staging?
|
|
112
119
|
end
|
|
113
120
|
end
|
|
121
|
+
|
|
122
|
+
private
|
|
123
|
+
|
|
124
|
+
def resolve_class_name(key, namespace:, fallback: nil)
|
|
125
|
+
key = key.to_s.singularize
|
|
126
|
+
configured = config(namespace)["#{key}_class_name".to_sym]
|
|
127
|
+
|
|
128
|
+
return configured if configured.present?
|
|
129
|
+
|
|
130
|
+
if defined?(Tenant) && namespace.present? && namespace != :effective
|
|
131
|
+
tenant_class_name = "#{namespace.to_s.camelize}::#{key.classify}"
|
|
132
|
+
return tenant_class_name if tenant_class_name.safe_constantize
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
fallback || "Effective::#{key.classify}"
|
|
136
|
+
end
|
|
114
137
|
end
|
|
115
138
|
|
|
116
139
|
end
|