From 8a5898177d9a793e791a7e1dcb3162f8bf11aecf Mon Sep 17 00:00:00 2001 From: Xinhui Date: Fri, 5 Jan 2018 16:28:28 +0100 Subject: Edit checksum stop_points attributes for route Refs #5416 --- app/models/chouette/route.rb | 2 +- app/models/chouette/routing_constraint_zone.rb | 4 +++- app/models/concerns/checksum_support.rb | 6 +++++- 3 files changed, 9 insertions(+), 3 deletions(-) (limited to 'app/models') diff --git a/app/models/chouette/route.rb b/app/models/chouette/route.rb index 47c18af09..5cc5d8b0d 100644 --- a/app/models/chouette/route.rb +++ b/app/models/chouette/route.rb @@ -133,7 +133,7 @@ module Chouette def checksum_attributes values = self.slice(*['name', 'published_name', 'wayback']).values values.tap do |attrs| - attrs << self.stop_points.sort_by(&:position).map{|sp| "#{sp.stop_area.user_objectid}#{sp.for_boarding}#{sp.for_alighting}" }.join + attrs << self.stop_points.sort_by(&:position).map{|sp| [sp.stop_area.user_objectid, sp.for_boarding, sp.for_alighting]} attrs << self.routing_constraint_zones.map(&:checksum) end end diff --git a/app/models/chouette/routing_constraint_zone.rb b/app/models/chouette/routing_constraint_zone.rb index 903922241..58703598e 100644 --- a/app/models/chouette/routing_constraint_zone.rb +++ b/app/models/chouette/routing_constraint_zone.rb @@ -25,7 +25,9 @@ module Chouette end def checksum_attributes - self.stop_points.map(&:stop_area).map(&:user_objectid) + [ + self.stop_points.map(&:stop_area).map(&:user_objectid) + ] end def stop_points_belong_to_route diff --git a/app/models/concerns/checksum_support.rb b/app/models/concerns/checksum_support.rb index 87218c977..397a22231 100644 --- a/app/models/concerns/checksum_support.rb +++ b/app/models/concerns/checksum_support.rb @@ -34,7 +34,11 @@ module ChecksumSupport def current_checksum_source source = checksum_replace_nil_or_empty_values(self.checksum_attributes) source.map{ |item| - item = item.kind_of?(Array) ? item.map{ |x| "(#{x.join(',')})"}.join(',') : item + if item.kind_of?(Array) + item.map{ |x| x.kind_of?(Array) ? "(#{x.join(',')})" : x }.join(',') + else + item + end }.join(SEPARATOR) end -- cgit v1.2.3