mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
22 lines
624 B
Ruby
22 lines
624 B
Ruby
module Puma
|
|
module Gems
|
|
class << self
|
|
|
|
def require(library, version = nil)
|
|
begin
|
|
Kernel.require library
|
|
rescue LoadError, RuntimeError => e
|
|
begin
|
|
# ActiveSupport breaks 'require' by making it always return a true value
|
|
Kernel.require 'rubygems'
|
|
version ? gem(library, version) : gem(library)
|
|
retry
|
|
rescue Gem::LoadError, LoadError, RuntimeError
|
|
# puts "** #{library.inspect} could not be loaded" unless library == "puma_experimental"
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|