aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential_cloning.rb
diff options
context:
space:
mode:
authorXinhui2016-10-24 16:05:03 +0200
committerXinhui2016-10-24 16:05:03 +0200
commit7fb087a735028cf783072886c968e4149dee7e7d (patch)
treecd89e06784afb3ddb2b7da1335075cc3be550366 /app/models/referential_cloning.rb
parent45c6a1a9d775546e5543bf7bfb2dffd485bf1f0a (diff)
downloadchouette-core-7fb087a735028cf783072886c968e4149dee7e7d.tar.bz2
Model ReferentialCloning
Diffstat (limited to 'app/models/referential_cloning.rb')
-rw-r--r--app/models/referential_cloning.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/models/referential_cloning.rb b/app/models/referential_cloning.rb
new file mode 100644
index 000000000..8d765f985
--- /dev/null
+++ b/app/models/referential_cloning.rb
@@ -0,0 +1,24 @@
+class ReferentialCloning < ActiveRecord::Base
+ include AASM
+ belongs_to :source_referential, class_name: 'Referential'
+ belongs_to :target_referential, class_name: 'Referential'
+
+ aasm column: :status do
+ state :new, :initial => true
+ state :pending
+ state :successful
+ state :failed
+
+ event :run do
+ transitions :from => [:new, :failed], :to => :pending
+ end
+
+ event :successful do
+ transitions :from => [:pending, :failed], :to => :successful
+ end
+
+ event :failed do
+ transitions :from => :pending, :to => :failed
+ end
+ end
+end