Posted almost 5 years ago. Visible to the public. Repeats.
Don't require files in random order
A common pattern in Ruby is to to require all files in a specific diretory, using something like
CopyDir.glob(Rails.root.join('lib/ext/**/*.rb')).each do |filename| require filename end
However, this causes files to be required in an order determined by the file system. Since load order can be important, this may lead to different behavior on different machines which are hard to debug.
Simply add a .sort
:
CopyDir.glob(Rails.root.join('lib/ext/**/*.rb')).sort.each do |filename| require filename end
Ruby 3
Ruby 3 Dir class sorts per default. You can opt out like this:
Dir.glob(some_globbed_path, sort: false)