83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/spring/application.rb', line 83
def preload
log "preloading app"
begin
require "spring/commands"
ensure
start_watcher
end
require Spring.application_root_path.join("config", "application")
unless Rails.respond_to?(:gem_version) && Rails.gem_version >= Gem::Version.new('6.0.0')
raise "Spring only supports Rails >= 6.0.0"
end
Rails::Application.initializer :ensure_reloading_is_enabled, group: :all do
if Rails.application.config.cache_classes
raise " Spring reloads, and therefore needs the application to have reloading enabled.\n Please, set config.cache_classes to false in config/environments/\#{Rails.env}.rb.\n MSG\n end\n end\n\n require Spring.application_root_path.join(\"config\", \"environment\")\n\n disconnect_database\n\n @preloaded = :success\nrescue Exception => e\n @preloaded = :failure\n watcher.add e.backtrace.map { |line| line[/^(.*)\\:\\d+/, 1] }\n raise e unless initialized?\nensure\n watcher.add loaded_application_features\n watcher.add Spring.gemfile, Spring.gemfile_lock\n\n if defined?(Rails) && Rails.application\n watcher.add Rails.application.paths[\"config/initializers\"]\n watcher.add Rails.application.paths[\"config/database\"]\n if secrets_path = Rails.application.paths[\"config/secrets\"]\n watcher.add secrets_path\n end\n end\nend\n".strip_heredoc
|