aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2017-12-18 14:42:58 +0100
committerAlban Peignier2018-01-05 10:23:29 +0100
commit9f8a27542d235314143f69de3c101be3f04b66d1 (patch)
tree055b9f1a74127e8f11cb0470023a232baa3dec17
parent2eb7c69b115516759086acf4ba19de2ef86ebec0 (diff)
downloadchouette-core-9f8a27542d235314143f69de3c101be3f04b66d1.tar.bz2
Create ReferentialCloning#clone_with_status! and #clone! for inline clone usage. Refs #5283
-rw-r--r--app/models/referential_cloning.rb15
-rw-r--r--app/workers/referential_cloning_worker.rb2
2 files changed, 10 insertions, 7 deletions
diff --git a/app/models/referential_cloning.rb b/app/models/referential_cloning.rb
index 24117e6c8..a2b23e819 100644
--- a/app/models/referential_cloning.rb
+++ b/app/models/referential_cloning.rb
@@ -8,19 +8,22 @@ class ReferentialCloning < ActiveRecord::Base
ReferentialCloningWorker.perform_async(id)
end
- def clone!
+ def clone_with_status!
run!
-
- AF83::SchemaCloner
- .new(source_referential.slug, target_referential.slug)
- .clone_schema
-
+ clone!
successful!
rescue Exception => e
Rails.logger.error "Clone failed : #{e}"
+ Rails.logger.error e.backtrace.join('\n')
failed!
end
+ def clone!
+ AF83::SchemaCloner
+ .new(source_referential.slug, target_referential.slug)
+ .clone_schema
+ end
+
private
aasm column: :status do
diff --git a/app/workers/referential_cloning_worker.rb b/app/workers/referential_cloning_worker.rb
index e20148055..e24baa90c 100644
--- a/app/workers/referential_cloning_worker.rb
+++ b/app/workers/referential_cloning_worker.rb
@@ -2,6 +2,6 @@ class ReferentialCloningWorker
include Sidekiq::Worker
def perform(id)
- ReferentialCloning.find(id).clone!
+ ReferentialCloning.find(id).clone_with_status!
end
end