Log errors when versions can't be created

This commit is contained in:
Mike Dillon 2016-05-18 08:53:06 -07:00
parent 71b93758bf
commit 0f90b90928
1 changed files with 21 additions and 6 deletions

View File

@ -397,8 +397,12 @@ module PaperTrail
end
add_transaction_id_to(data)
version = send(self.class.versions_association_name).create merge_metadata(data)
update_transaction_id(version)
save_associations(version)
if version.errors.any?
log_version_errors(version, :update)
else
update_transaction_id(version)
save_associations(version)
end
end
end
@ -476,10 +480,14 @@ module PaperTrail
}
add_transaction_id_to(data)
version = self.class.paper_trail_version_class.create(merge_metadata(data))
send("#{self.class.version_association_name}=", version)
send(self.class.versions_association_name).send :load_target
update_transaction_id(version)
save_associations(version)
if version.errors.any?
log_version_errors(version, :destroy)
else
send("#{self.class.version_association_name}=", version)
send(self.class.versions_association_name).send :load_target
update_transaction_id(version)
save_associations(version)
end
end
end
@ -646,6 +654,13 @@ module PaperTrail
version.save
end
end
def log_version_errors(version, action)
version.logger.warn(
"Unable to create version for #{action} of #{self.class.name}##{id}: " +
version.errors.full_messages.join(", ")
)
end
end
end
end