aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2018-05-29 14:23:27 +0200
committerAlban Peignier2018-05-29 14:23:27 +0200
commit54ac1aea08ea77742d8ce949d31b2e54f172f07b (patch)
tree32faccee634196a572f19af637d3ac71127405da
parent79e89af12bbc865b6defafa27dca5dafd72df3ef (diff)
downloadchouette-core-7214-merge-save-with-log.tar.bz2
Add Merge#save_model! method. Refs #72147214-merge-save-with-log
-rw-r--r--app/models/merge.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/app/models/merge.rb b/app/models/merge.rb
index aca2f4d4d..8ba037019 100644
--- a/app/models/merge.rb
+++ b/app/models/merge.rb
@@ -184,7 +184,7 @@ class Merge < ApplicationModel
end
# We need to create StopPoints to known new primary keys
- new_route.save!
+ save_model! new_route
route_ids_mapping[route.id] = new_route.id
@@ -211,10 +211,9 @@ class Merge < ApplicationModel
stop_point_ids: stop_point_ids,
)
new_route.routing_constraint_zones.build attributes
-
end
- new_route.save!
+ save_model! new_route
if new_route.checksum != route.checksum
raise "Checksum has changed: \"#{route.checksum}\", \"#{route.checksum_source}\" -> \"#{new_route.checksum}\", \"#{new_route.checksum_source}\""
@@ -394,7 +393,7 @@ class Merge < ApplicationModel
# Rewrite ignored_routing_contraint_zone_ids
new_vehicle_journey.ignored_routing_contraint_zone_ids = referential_routing_constraint_zones_new_ids.values_at(*vehicle_journey.ignored_routing_contraint_zone_ids).compact
- new_vehicle_journey.save!
+ save_model! new_vehicle_journey
if new_vehicle_journey.checksum != vehicle_journey.checksum
raise "Checksum has changed: \"#{vehicle_journey.checksum_source}\" \"#{vehicle_journey.checksum}\" -> \"#{new_vehicle_journey.checksum_source}\" \"#{new_vehicle_journey.checksum}\""
@@ -518,6 +517,14 @@ class Merge < ApplicationModel
end
+ def save_model!(model)
+ unless model.save
+ Rails.logger.info "Can't save #{model.class.name} : #{model.errors.inspect}"
+ raise ActiveRecord::RecordNotSaved.new("Invalid #{model.class.name} : #{model.errors.inspect}")
+ end
+ Rails.logger.debug { "Created #{model.inspect}" }
+ end
+
class MetadatasMerger
attr_reader :merge_metadatas, :referential