aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2017-07-12 15:42:10 +0200
committerXinhui2017-07-13 17:33:21 +0200
commit53d77d7cf4254d2aac11d0dad06a59250fe1d8c5 (patch)
treeb79e69a765bbc6d5749c51b52dcb3507d1c23028
parentbe8c8c2b9d04175977b216a04ec03a2d8c52fbaf (diff)
downloadchouette-core-53d77d7cf4254d2aac11d0dad06a59250fe1d8c5.tar.bz2
JourneyPattern implementation of checksum concerns
-rw-r--r--app/models/chouette/journey_pattern.rb7
-rw-r--r--spec/models/chouette/journey_pattern_spec.rb5
2 files changed, 11 insertions, 1 deletions
diff --git a/app/models/chouette/journey_pattern.rb b/app/models/chouette/journey_pattern.rb
index 868d8121e..6c388f30c 100644
--- a/app/models/chouette/journey_pattern.rb
+++ b/app/models/chouette/journey_pattern.rb
@@ -1,4 +1,5 @@
class Chouette::JourneyPattern < Chouette::TridentActiveRecord
+ include ChecksumSupport
include JourneyPatternRestrictions
# FIXME http://jira.codehaus.org/browse/JRUBY-6358
self.primary_key = "id"
@@ -20,6 +21,12 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
attr_accessor :control_checked
after_update :control_route_sections, :unless => "control_checked"
+ def checksum_attributes
+ values = self.slice(*['name', 'published_name', 'registration_number']).values
+ values << self.stop_points.map(&:stop_area).map(&:user_objectid)
+ values.flatten
+ end
+
def self.state_update route, state
transaction do
state.each do |item|
diff --git a/spec/models/chouette/journey_pattern_spec.rb b/spec/models/chouette/journey_pattern_spec.rb
index 6601ed5f4..40550f74c 100644
--- a/spec/models/chouette/journey_pattern_spec.rb
+++ b/spec/models/chouette/journey_pattern_spec.rb
@@ -1,8 +1,11 @@
require 'spec_helper'
describe Chouette::JourneyPattern, :type => :model do
+ describe 'checksum' do
+ it_behaves_like 'checksum support', :journey_pattern
+ end
- context 'validate minimum stop_points size' do
+ describe 'validate minimum stop_points size' do
let(:journey_pattern) { create :journey_pattern }
let(:stop_points) { journey_pattern.stop_points }