module Rails::Command::Actions

def boot_application!

def boot_application!
  require_application!
  Rails.application.require_environment! if defined?(APP_PATH)
end

def load_environment_config!

def load_environment_config!
  require_application!
  # Only run initializers that are in the :all group, which includes the
  # :load_environment_config initializer.
  Rails.application.initialize!(:_) if defined?(APP_PATH)
end

def load_generators

def load_generators
  engine = ::Rails::Engine.find(ENGINE_ROOT)
  Rails::Generators.namespace = engine.railtie_namespace
  engine.load_generators
end

def load_generators

def load_generators
  Rails.application.load_generators
end

def load_tasks

def load_tasks
  Rake.application.init("rails")
  Rake.application.load_rakefile
end

def load_tasks

def load_tasks
  Rails.application.load_tasks
end

def require_application!

def require_application!
  require ENGINE_PATH if defined?(ENGINE_PATH)
  require APP_PATH if defined?(APP_PATH)
end

def set_application_directory!

the main config.ru and properly set the tmp directory.
This allows us to run rails server from other directories, but still get
Change to the application's path if there is no config.ru file in current directory.
def set_application_directory!
  Dir.chdir(File.expand_path("../..", APP_PATH)) unless File.exist?(File.expand_path("config.ru"))
end