lib/tapioca/loaders/loader.rb in tapioca-0.15.1 vs lib/tapioca/loaders/loader.rb in tapioca-0.16.0

- old
+ new

@@ -45,15 +45,26 @@ app_root: String, halt_upon_load_error: T::Boolean, ).void end def load_rails_application(environment_load: false, eager_load: false, app_root: ".", halt_upon_load_error: true) - return unless File.exist?("#{app_root}/config/application.rb") + return unless File.exist?(File.expand_path("config/application.rb", app_root)) - if environment_load - require "./#{app_root}/config/environment" + load_path = if environment_load + "config/environment" else - require "./#{app_root}/config/application" + "config/application" + end + + require File.expand_path(load_path, app_root) + + unless defined?(Rails) + say( + "\nTried to load the app from `#{load_path}` as a Rails application " \ + "but the `Rails` constant wasn't defined after loading the file.", + :yellow, + ) + return end eager_load_rails_app if eager_load rescue LoadError, StandardError => e say(