Class: Vidibus::VersionScheduler::MigrationJob

Inherits:
Struct
  • Object
show all
Defined in:
lib/vidibus/version_scheduler/migration_job.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uuid) ⇒ MigrationJob

Returns a new instance of MigrationJob.



4
5
6
# File 'lib/vidibus/version_scheduler/migration_job.rb', line 4

def initialize(uuid)
  self.version_uuid = uuid or raise(ArgumentError)
end

Instance Attribute Details

#version_uuidObject

Returns the value of attribute version_uuid

Returns:

  • (Object)

    the current value of version_uuid



3
4
5
# File 'lib/vidibus/version_scheduler/migration_job.rb', line 3

def version_uuid
  @version_uuid
end

Instance Method Details

#performObject



8
9
10
11
12
13
14
15
16
# File 'lib/vidibus/version_scheduler/migration_job.rb', line 8

def perform
  return unless version = Vidibus::Versioning::Version.where(:uuid => version_uuid).first
  return unless versioned = version.versioned
  begin
    versioned.migrate!(version.number)
    ScheduledVersion.where(:version_uuid => version.uuid).destroy_all
  rescue Vidibus::Versioning::MigrationError
  end
end