lib/tapioca/loader.rb in tapioca-0.2.1 vs lib/tapioca/loader.rb in tapioca-0.2.2
- old
+ new
@@ -10,27 +10,36 @@
@gemfile = T.let(gemfile, Tapioca::Gemfile)
end
sig { params(initialize_file: T.nilable(String), require_file: T.nilable(String)).void }
def load_bundle(initialize_file, require_file)
- require(initialize_file) if initialize_file && File.exist?(initialize_file)
+ require_helper(initialize_file)
load_rails
load_rake
require_bundle
- require(require_file) if require_file && File.exist?(require_file)
+ require_helper(require_file)
load_rails_engines
end
private
sig { returns(Tapioca::Gemfile) }
attr_reader :gemfile
+ sig { params(file: T.nilable(String)).void }
+ def require_helper(file)
+ return unless file
+ file = File.absolute_path(file)
+ return unless File.exist?(file)
+
+ require(file)
+ end
+
sig { void }
def require_bundle
gemfile.require
end
@@ -76,21 +85,25 @@
rails_engines.each do |engine|
errored_files = []
engine.config.eager_load_paths.each do |load_path|
Dir.glob("#{load_path}/**/*.rb").sort.each do |file|
- require(file)
- rescue LoadError, StandardError
- errored_files << file
+ begin
+ require(file)
+ rescue LoadError, StandardError
+ errored_files << file
+ end
end
end
# Try files that have errored one more time
# It might have been a load order problem
errored_files.each do |file|
- require(file)
- rescue LoadError, StandardError
- nil
+ begin
+ require(file)
+ rescue LoadError, StandardError
+ nil
+ end
end
end
end
end
end