class ViewModel::ActiveRecord::UpdateData

def preload_dependencies

associations necessary to perform update.
Updates in terms of activerecord associations: used for preloading subtree
def preload_dependencies
  deps = {}
  associations.merge(referenced_associations).each do |assoc_name, reference|
    association_data = self.viewmodel_class._association_data(assoc_name)
    preload_specs = build_preload_specs(association_data,
                                        to_sequence(assoc_name, reference))
    referenced_deps = merge_preload_specs(association_data, preload_specs)
    if association_data.through?
      referenced_deps = DeepPreloader::Spec.new(association_data.indirect_reflection.name.to_s => referenced_deps)
    end
    deps[association_data.direct_reflection.name.to_s] = referenced_deps
  end
  DeepPreloader::Spec.new(deps)
end