lib/tapioca/loader.rb in tapioca-0.4.0 vs lib/tapioca/loader.rb in tapioca-0.4.1
- old
+ new
@@ -22,10 +22,28 @@
require_helper(require_file)
load_rails_engines
end
+ sig { params(environment_load: T::Boolean, eager_load: T::Boolean).void }
+ def load_rails(environment_load: false, eager_load: false)
+ return unless File.exist?("config/application.rb")
+
+ safe_require("rails")
+
+ silence_deprecations
+
+ safe_require("rails/generators/test_case")
+ if environment_load
+ safe_require("./config/environment")
+ else
+ safe_require("./config/application")
+ end
+
+ eager_load_rails_app if eager_load
+ end
+
private
sig { returns(Tapioca::Gemfile) }
attr_reader :gemfile
@@ -78,18 +96,11 @@
rescue NameError
nil
end
sig { void }
- def load_rails
- return unless File.exist?("config/application.rb")
-
- safe_require("rails")
-
- silence_deprecations
-
- safe_require("rails/generators/test_case")
- safe_require("./config/application")
+ def eager_load_rails_app
+ Object.const_get("Rails").autoloaders.each(&:eager_load)
end
sig { void }
def load_rails_engines
rails_engines.each do |engine|