lib/copyable/declarations/associations.rb in copyable-0.1.1 vs lib/copyable/declarations/associations.rb in copyable-0.1.2

- old
+ new

@@ -6,10 +6,11 @@ # this is the algorithm for copying associated records according to the # instructions given in the copyable declaration def execute(association_list, original_model, new_model, skip_validations, skip_associations) @skip_validations = skip_validations + @skip_associations = skip_associations association_list.each do |assoc_name, advice| association = original_model.class.reflections[assoc_name.to_sym] check_advice(association, advice, original_model) unless advice == :do_not_copy || skip_associations.include?(assoc_name.to_sym) copy_association(association, original_model, new_model) @@ -76,10 +77,11 @@ if SingleCopyEnforcer.can_copy?(original_record) if original_record.respond_to? :create_copy! copied_record = original_record.create_copy!( override: { association.foreign_key => parent_model.id }, __called_recursively: true, - skip_validations: @skip_validations) + skip_validations: @skip_validations, + skip_associations: @skip_associations) else message = "Could not copy #{parent_model.class.name}#id:#{parent_model.id} " message << "because #{original_record.class.name} does not have a copyable declaration." raise Copyable::CopyableError.new(message) end