mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
a39aa99c81
This avoids missing key exceptions caused by code that tries to read the credentials before they have been added to the encrypted file, for example when editing the credentials for a new environment.
54 lines
1.4 KiB
Ruby
54 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Rails
|
|
module Command
|
|
module Actions
|
|
# Change to the application's path if there is no <tt>config.ru</tt> file in current directory.
|
|
# This allows us to run <tt>rails server</tt> from other directories, but still get
|
|
# the main <tt>config.ru</tt> and properly set the <tt>tmp</tt> directory.
|
|
def set_application_directory!
|
|
Dir.chdir(File.expand_path("../..", APP_PATH)) unless File.exist?(File.expand_path("config.ru"))
|
|
end
|
|
|
|
def require_application_and_environment!
|
|
require_application!
|
|
require_environment!
|
|
end
|
|
|
|
def require_application!
|
|
require ENGINE_PATH if defined?(ENGINE_PATH)
|
|
|
|
if defined?(APP_PATH)
|
|
require APP_PATH
|
|
end
|
|
end
|
|
|
|
def require_environment!
|
|
if defined?(APP_PATH)
|
|
Rails.application.require_environment!
|
|
end
|
|
end
|
|
|
|
if defined?(ENGINE_PATH)
|
|
def load_tasks
|
|
Rake.application.init("rails")
|
|
Rake.application.load_rakefile
|
|
end
|
|
|
|
def load_generators
|
|
engine = ::Rails::Engine.find(ENGINE_ROOT)
|
|
Rails::Generators.namespace = engine.railtie_namespace
|
|
engine.load_generators
|
|
end
|
|
else
|
|
def load_tasks
|
|
Rails.application.load_tasks
|
|
end
|
|
|
|
def load_generators
|
|
Rails.application.load_generators
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|