diff options
| author | Alban Peignier | 2017-12-18 14:42:58 +0100 | 
|---|---|---|
| committer | Alban Peignier | 2018-01-05 10:23:29 +0100 | 
| commit | 9f8a27542d235314143f69de3c101be3f04b66d1 (patch) | |
| tree | 055b9f1a74127e8f11cb0470023a232baa3dec17 | |
| parent | 2eb7c69b115516759086acf4ba19de2ef86ebec0 (diff) | |
| download | chouette-core-9f8a27542d235314143f69de3c101be3f04b66d1.tar.bz2 | |
Create ReferentialCloning#clone_with_status! and #clone! for inline clone usage. Refs #5283
| -rw-r--r-- | app/models/referential_cloning.rb | 15 | ||||
| -rw-r--r-- | app/workers/referential_cloning_worker.rb | 2 | 
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 | 
