diff options
| author | Xinhui | 2016-09-27 11:34:35 +0200 |
|---|---|---|
| committer | Xinhui | 2016-09-27 15:18:06 +0200 |
| commit | 12f506a82ae9099cface5b9507dd8a36bf923508 (patch) | |
| tree | 405cbcea60766fb88f3d324805ce46efff84919c /app/models/line_referential_sync.rb | |
| parent | 811d6208f4a126b08fc7ae8c4233ce8fca1eb198 (diff) | |
| download | chouette-core-12f506a82ae9099cface5b9507dd8a36bf923508.tar.bz2 | |
Rspec model LineReferentialSync
Diffstat (limited to 'app/models/line_referential_sync.rb')
| -rw-r--r-- | app/models/line_referential_sync.rb | 12 |
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 |
