diff options
| author | Alban Peignier | 2018-05-29 14:23:27 +0200 |
|---|---|---|
| committer | Alban Peignier | 2018-05-29 14:23:27 +0200 |
| commit | 54ac1aea08ea77742d8ce949d31b2e54f172f07b (patch) | |
| tree | 32faccee634196a572f19af637d3ac71127405da | |
| parent | 79e89af12bbc865b6defafa27dca5dafd72df3ef (diff) | |
| download | chouette-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.rb | 15 |
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 |
