diff options
Diffstat (limited to 'app/models/restore_job.rb')
-rw-r--r-- | app/models/restore_job.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/models/restore_job.rb b/app/models/restore_job.rb new file mode 100644 index 0000000..80741ac --- /dev/null +++ b/app/models/restore_job.rb @@ -0,0 +1,24 @@ +class RestoreJob < ActiveRecord::Base + attr_accessible :state, :backup_file + + mount_uploader :backup_file, BackupFileUploader + + after_create :queue_the_restore_rake_task + + def to_s + if self.backup_file? + File.basename(self.backup_file.to_s) + else + "RestoreJob ID #{self.id}" + end + end + + private + def queue_the_restore_rake_task + self.delay.run_the_restore_rake_task + end + + def run_the_restore_rake_task + system "cd #{Rails.root} && rake backup:restore" + end +end |