-
Notifications
You must be signed in to change notification settings - Fork 21.4k
/
actions.rb
52 lines (45 loc) · 1.55 KB
/
actions.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 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!
require ENGINE_PATH if defined?(ENGINE_PATH)
require APP_PATH if defined?(APP_PATH)
end
def boot_application!
require_application!
Rails.application.require_environment! if defined?(APP_PATH)
end
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
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