PATH:
opt
/
alt
/
ruby34
/
share
/
gems
/
gems
/
bundler-2.6.9
/
lib
/
bundler
# frozen_string_literal: true require_relative "rubygems_ext" module Bundler # Returns current version of Ruby # # @return [CurrentRuby] Current version of Ruby def self.current_ruby @current_ruby ||= CurrentRuby.new end class CurrentRuby ALL_RUBY_VERSIONS = (18..27).to_a.concat((30..35).to_a).freeze KNOWN_MINOR_VERSIONS = ALL_RUBY_VERSIONS.map {|v| v.digits.reverse.join(".") }.freeze KNOWN_MAJOR_VERSIONS = ALL_RUBY_VERSIONS.map {|v| v.digits.last.to_s }.uniq.freeze PLATFORM_MAP = { ruby: [Gem::Platform::RUBY, CurrentRuby::ALL_RUBY_VERSIONS], mri: [Gem::Platform::RUBY, CurrentRuby::ALL_RUBY_VERSIONS], rbx: [Gem::Platform::RUBY], truffleruby: [Gem::Platform::RUBY], jruby: [Gem::Platform::JAVA, [18, 19]], windows: [Gem::Platform::WINDOWS, CurrentRuby::ALL_RUBY_VERSIONS], # deprecated mswin: [Gem::Platform::MSWIN, CurrentRuby::ALL_RUBY_VERSIONS], mswin64: [Gem::Platform::MSWIN64, CurrentRuby::ALL_RUBY_VERSIONS - [18]], mingw: [Gem::Platform::UNIVERSAL_MINGW, CurrentRuby::ALL_RUBY_VERSIONS], x64_mingw: [Gem::Platform::UNIVERSAL_MINGW, CurrentRuby::ALL_RUBY_VERSIONS - [18, 19]], }.each_with_object({}) do |(platform, spec), hash| hash[platform] = spec[0] spec[1]&.each {|version| hash[:"#{platform}_#{version}"] = spec[0] } end.freeze def ruby? return true if Bundler::GemHelpers.generic_local_platform_is_ruby? !windows? && (RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx" || RUBY_ENGINE == "maglev" || RUBY_ENGINE == "truffleruby") end def mri? !windows? && RUBY_ENGINE == "ruby" end def rbx? ruby? && RUBY_ENGINE == "rbx" end def jruby? RUBY_ENGINE == "jruby" end def maglev? RUBY_ENGINE == "maglev" end def truffleruby? RUBY_ENGINE == "truffleruby" end def windows? Gem.win_platform? end alias_method :mswin?, :windows? alias_method :mswin64?, :windows? alias_method :mingw?, :windows? alias_method :x64_mingw?, :windows? (KNOWN_MINOR_VERSIONS + KNOWN_MAJOR_VERSIONS).each do |version| trimmed_version = version.tr(".", "") define_method(:"on_#{trimmed_version}?") do RUBY_VERSION.start_with?("#{version}.") end all_platforms = PLATFORM_MAP.keys << "maglev" all_platforms.each do |platform| define_method(:"#{platform}_#{trimmed_version}?") do send(:"#{platform}?") && send(:"on_#{trimmed_version}?") end end end end end
[+]
..
[-] vendored_fileutils.rb
[edit]
[+]
settings
[-] similarity_detector.rb
[edit]
[-] mirror.rb
[edit]
[-] vendored_net_http.rb
[edit]
[-] match_metadata.rb
[edit]
[+]
resolver
[+]
plugin
[+]
fetcher
[-] lockfile_parser.rb
[edit]
[-] definition.rb
[edit]
[-] rubygems_integration.rb
[edit]
[-] source.rb
[edit]
[-] feature_flag.rb
[edit]
[-] index.rb
[edit]
[-] vlad.rb
[edit]
[-] compact_index_client.rb
[edit]
[+]
source
[-] checksum.rb
[edit]
[-] spec_set.rb
[edit]
[-] env.rb
[edit]
[-] process_lock.rb
[edit]
[-] version.rb
[edit]
[-] vendored_timeout.rb
[edit]
[-] fetcher.rb
[edit]
[-] digest.rb
[edit]
[+]
ui
[-] ruby_version.rb
[edit]
[-] ruby_dsl.rb
[edit]
[-] rubygems_ext.rb
[edit]
[+]
man
[+]
installer
[-] lockfile_generator.rb
[edit]
[-] force_platform.rb
[edit]
[-] remote_specification.rb
[edit]
[-] gem_tasks.rb
[edit]
[+]
templates
[+]
cli
[-] runtime.rb
[edit]
[-] installer.rb
[edit]
[+]
vendor
[-] shared_helpers.rb
[edit]
[+]
compact_index_client
[-] vendored_uri.rb
[edit]
[-] worker.rb
[edit]
[-] graph.rb
[edit]
[-] gem_helper.rb
[edit]
[-] vendored_persistent.rb
[edit]
[-] source_list.rb
[edit]
[-] settings.rb
[edit]
[-] materialization.rb
[edit]
[-] setup.rb
[edit]
[-] environment_preserver.rb
[edit]
[-] match_remote_metadata.rb
[edit]
[-] match_platform.rb
[edit]
[-] yaml_serializer.rb
[edit]
[-] constants.rb
[edit]
[-] vendored_securerandom.rb
[edit]
[-] plugin.rb
[edit]
[-] retry.rb
[edit]
[-] injector.rb
[edit]
[-] endpoint_specification.rb
[edit]
[-] self_manager.rb
[edit]
[-] vendored_thor.rb
[edit]
[-] errors.rb
[edit]
[-] stub_specification.rb
[edit]
[-] ui.rb
[edit]
[-] dependency.rb
[edit]
[-] capistrano.rb
[edit]
[-] uri_credentials_filter.rb
[edit]
[-] uri_normalizer.rb
[edit]
[-] ci_detector.rb
[edit]
[-] deprecate.rb
[edit]
[-] vendored_pub_grub.rb
[edit]
[-] gem_helpers.rb
[edit]
[-] dsl.rb
[edit]
[-] deployment.rb
[edit]
[-] vendored_tsort.rb
[edit]
[-] current_ruby.rb
[edit]
[-] gem_version_promoter.rb
[edit]
[-] safe_marshal.rb
[edit]
[-] cli.rb
[edit]
[-] resolver.rb
[edit]
[-] lazy_specification.rb
[edit]
[-] build_metadata.rb
[edit]
[-] inline.rb
[edit]
[-] rubygems_gem_installer.rb
[edit]
[-] friendly_errors.rb
[edit]
[-] source_map.rb
[edit]