class EY::Serverside::Slug::Migrator
Attributes
config[R]
shell[R]
Public Class Methods
new(config, shell)
click to toggle source
# File lib/engineyard-serverside/slug/migrator.rb, line 13 def initialize(config, shell) @config = config @shell = shell end
Private Class Methods
migrate(data = {})
click to toggle source
# File lib/engineyard-serverside/slug/migrator.rb, line 35 def self.migrate(data = {}) new(data[:config], data[:shell]).call(data) end
Public Instance Methods
call(data = {})
click to toggle source
# File lib/engineyard-serverside/slug/migrator.rb, line 18 def call(data = {}) return Success(data) unless config.migrate? cmd = "PATH=#{paths.binstubs}:$PATH #{config.framework_envs} #{config.migration_command}" return Failure( data.merge(:error => "Could not migrate database") ) unless Dir.chdir(paths.active_release) {run_and_success?(cmd)} Success(data.merge(:migrated => true)) end
Private Instance Methods
paths()
click to toggle source
# File lib/engineyard-serverside/slug/migrator.rb, line 31 def paths config.paths end