lib/anyway/config.rb in anyway_config-2.4.0 vs lib/anyway/config.rb in anyway_config-2.4.1
- old
+ new
@@ -197,10 +197,22 @@
else
config_name.upcase
end
end
+ def loader_options(val = nil)
+ return (@loader_options = val) unless val.nil?
+
+ return @loader_options if instance_variable_defined?(:@loader_options)
+
+ @loader_options = if superclass < Anyway::Config
+ superclass.loader_options
+ else
+ {}
+ end
+ end
+
def new_empty_config() = {}
def coerce_types(mapping)
Utils.deep_merge!(coercion_mapping, mapping)
@@ -341,10 +353,16 @@
trace = Tracing.capture do
Tracing.trace!(:defaults) { base_config }
config_path = resolve_config_path(config_name, env_prefix)
- load_from_sources(base_config, name: config_name, env_prefix:, config_path:)
+ load_from_sources(
+ base_config,
+ name: config_name,
+ env_prefix:,
+ config_path:,
+ **self.class.loader_options
+ )
if overrides
Tracing.trace!(:load) { overrides }
Utils.deep_merge!(base_config, overrides)