module Flows::Util::InheritableSingletonVars::DupStrategy::Migrator
@api private
Public Class Methods
call(src_mod, dst_mod)
click to toggle source
:reek: TooManyStatements is allowed here because it's impossible to split to smaller methods
# File lib/flows/util/inheritable_singleton_vars/dup_strategy.rb, line 28 def self.call(src_mod, dst_mod) parent_var_list = src_mod.instance_variable_get(VAR_LIST_VAR_NAME) child_var_list = dst_mod.instance_variable_get(VAR_LIST_VAR_NAME) || [] skip_list = parent_var_list & child_var_list dst_mod.instance_variable_set(VAR_LIST_VAR_NAME, (child_var_list + parent_var_list).uniq) (parent_var_list - skip_list).each do |name| dst_mod.instance_variable_set(name, src_mod.instance_variable_get(name).dup) end end