Split out definition of require_gem to standalone file (#11283)

This commit is contained in:
Maximilian Downey Twiss
2025-02-11 10:46:51 +11:00
committed by GitHub
parent df8d66fca1
commit 1e30ec8e1a
13 changed files with 35 additions and 230 deletions

View File

@@ -8,29 +8,11 @@
$LOAD_PATH.unshift '../lib'
require_relative '../lib/color'
require_relative '../lib/gem_compact_index_client'
require_relative '../lib/require_gem'
CREW_NPROC = `nproc`.chomp
CREW_RUBY_VER = "ruby#{RUBY_VERSION.slice(/(?:.*(?=\.))/)}"
CREW_VERBOSE = false
def require_gem(gem_name_and_require = nil, require_override = nil)
# Allow only loading gems when needed.
return if gem_name_and_require.nil?
gem_name = gem_name_and_require.split('/')[0]
begin
gem gem_name
rescue LoadError
puts " -> install #{gem_name} gem".orange
Gem.install(gem_name)
gem gem_name
end
requires = if require_override.nil?
gem_name_and_require.split('/')[1].nil? ? gem_name_and_require.split('/')[0] : gem_name_and_require
else
require_override
end
require requires
end
require_gem('activesupport', 'active_support/core_ext/object/blank')
require_gem 'concurrent-ruby'