class Reactor::MigrationProxy
Class responsible for running a single migration, a helper for Migrator
Public Class Methods
new(versioner, name, version, direction, filename)
click to toggle source
# File lib/reactor/tools/migrator.rb, line 6 def initialize(versioner, name, version, direction, filename) @versioner = versioner @name = name @version = version @filename = filename @direction = direction end
Public Instance Methods
class_name()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 46 def class_name return Kernel.const_get(@name) end
down()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 37 def down result = class_name.send(:down) and @versioner.remove(@version) class_name.contained.each do |version| puts "#{class_name.to_s} contains migration #{version}" @versioner.remove(version) end if result result end
filename()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 58 def filename @filename end
load_migration()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 14 def load_migration load @filename end
name()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 50 def name @name end
run()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 18 def run return down if @direction.to_sym == :down return up end
up()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 23 def up if @versioner.applied?(@version) then puts "Migrating up: #{@name} (#{@filename}) already applied, skipping" return true else result = class_name.send(:up) and @versioner.add(@version) class_name.contained.each do |version| puts "#{class_name.to_s} contains migration #{version}" #@versioner.add(version) # not neccesary! end if result result end end
version()
click to toggle source
# File lib/reactor/tools/migrator.rb, line 54 def version @version end