Module: Gem
| Relationships & Source Files | |
| Namespace Children | |
| Modules: | |
| Classes: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Instance Chain: | |
| Defined in: | lib/bundler/rubygems_ext.rb | 
Constant Summary
- 
    FLATTENS_REQUIRED_PATHS =
    # File 'lib/bundler/rubygems_ext.rb', line 148Can be removed once RubyGems 3.3.15 support is dropped Specification.new.respond_to?(:flatten_require_paths).freeze 
- 
    VALIDATES_FOR_RESOLUTION =
    # File 'lib/bundler/rubygems_ext.rb', line 145Can be removed once RubyGems 3.5.14 support is dropped Specification.new.respond_to?(:validate_for_resolution).freeze 
Class Attribute Summary
- .freebsd_platform? ⇒ Boolean readonly
Class Method Summary
Instance Method Summary
Class Attribute Details
    .freebsd_platform?  ⇒ Boolean  (readonly)
  
  [ GitHub ]
# File 'lib/bundler/rubygems_ext.rb', line 28
def self.freebsd_platform? RbConfig::CONFIG["host_os"].to_s.include?("bsd") end
Class Method Details
.open_file_with_flock(path, &block)
[ GitHub ]# File 'lib/bundler/rubygems_ext.rb', line 38
def open_file_with_flock(path, &block) # read-write mode is used rather than read-only in order to support NFS mode = IO::RDWR | IO::APPEND | IO::CREAT | IO::BINARY mode |= IO::SHARE_DELETE if IO.const_defined?(:SHARE_DELETE) File.open(path, mode) do |io| begin io.flock(File::LOCK_EX) rescue Errno::ENOSYS, Errno::ENOTSUP end yield io end end
.open_file_with_lock(path, &block)
[ GitHub ]# File 'lib/bundler/rubygems_ext.rb', line 52
def open_file_with_lock(path, &block) file_lock = "#{path}.lock" open_file_with_flock(file_lock, &block) ensure FileUtils.rm_f file_lock end