aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/line_referential_sync.rb
diff options
context:
space:
mode:
authorXinhui2016-09-27 11:34:35 +0200
committerXinhui2016-09-27 15:18:06 +0200
commit12f506a82ae9099cface5b9507dd8a36bf923508 (patch)
tree405cbcea60766fb88f3d324805ce46efff84919c /app/models/line_referential_sync.rb
parent811d6208f4a126b08fc7ae8c4233ce8fca1eb198 (diff)
downloadchouette-core-12f506a82ae9099cface5b9507dd8a36bf923508.tar.bz2
Rspec model LineReferentialSync
Diffstat (limited to 'app/models/line_referential_sync.rb')
-rw-r--r--app/models/line_referential_sync.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/app/models/line_referential_sync.rb b/app/models/line_referential_sync.rb
index 35e074d4e..c0af54ac1 100644
--- a/app/models/line_referential_sync.rb
+++ b/app/models/line_referential_sync.rb
@@ -1,9 +1,17 @@
class LineReferentialSync < ActiveRecord::Base
belongs_to :line_referential
- after_create :synchronize
+ after_create :perform_sync
+ validate :multiple_process_validation, :on => :create
private
- def synchronize
+ def perform_sync
LineReferentialSyncWorker.perform_async(self.id)
end
+
+ # There can be only one instance running
+ def multiple_process_validation
+ if self.class.where(ended_at: nil, line_referential_id: line_referential_id).count > 0
+ errors.add(:base, :multiple_process)
+ end
+ end
end