lib/anyway/config.rb in anyway_config-2.0.0.rc1 vs lib/anyway/config.rb in anyway_config-2.0.0

- old
+ new

@@ -31,10 +31,11 @@ values class clear deconstruct_keys dig + dup initialize load load_from_sources option_parser pretty_print @@ -342,9 +343,18 @@ values.dig(*keys) end def to_h values.deep_dup.deep_freeze + end + + def dup + self.class.allocate.tap do |new_config| + %i[config_name env_prefix __trace__].each do |ivar| + new_config.instance_variable_set(:"@#{ivar}", send(ivar).dup) + end + new_config.instance_variable_set(:@values, values.deep_dup) + end end def resolve_config_path(name, env_prefix) Anyway.env.fetch(env_prefix).delete("conf") || Settings.default_config_path.call(name) end