PATH: //opt/alt/ruby27/share/gems/gems/bundler-2.2.24/lib/bundler
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 build_metadata.rb
↓
X
📄 capistrano.rb
↓
X
📁 cli/
X
📄 cli.rb
↓
X
📁 compact_index_client/
X
📄 compact_index_client.rb
↓
X
📄 constants.rb
↓
X
📄 current_ruby.rb
↓
X
📄 definition.rb
↓
X
📄 dep_proxy.rb
↓
X
📄 dependency.rb
↓
X
📄 deployment.rb
↓
X
📄 deprecate.rb
↓
X
📄 dsl.rb
↓
X
📄 endpoint_specification.rb
↓
X
📄 env.rb
↓
X
📄 environment_preserver.rb
↓
X
📄 errors.rb
↓
X
📄 feature_flag.rb
↓
X
📁 fetcher/
X
📄 fetcher.rb
↓
X
📄 friendly_errors.rb
↓
X
📄 gem_helper.rb
↓
X
📄 gem_helpers.rb
↓
X
📄 gem_tasks.rb
↓
X
📄 gem_version_promoter.rb
↓
X
📄 gemdeps.rb
↓
X
📄 graph.rb
↓
X
📄 index.rb
↓
X
📄 injector.rb
↓
X
📄 inline.rb
↓
X
📁 installer/
X
📄 installer.rb
↓
X
📄 lazy_specification.rb
↓
X
📄 lockfile_generator.rb
↓
X
📄 lockfile_parser.rb
↓
X
📁 man/
X
📄 match_platform.rb
↓
X
📄 mirror.rb
↓
X
📁 plugin/
X
📄 plugin.rb
↓
X
📄 process_lock.rb
↓
X
📄 psyched_yaml.rb
↓
X
📄 remote_specification.rb
↓
X
📁 resolver/
X
📄 resolver.rb
↓
X
📄 retry.rb
↓
X
📄 ruby_dsl.rb
↓
X
📄 ruby_version.rb
↓
X
📄 rubygems_ext.rb
↓
X
📄 rubygems_gem_installer.rb
↓
X
📄 rubygems_integration.rb
↓
X
📄 runtime.rb
↓
X
📁 settings/
X
📄 settings.rb
↓
X
📄 setup.rb
↓
X
📄 shared_helpers.rb
↓
X
📄 similarity_detector.rb
↓
X
📁 source/
X
📄 source.rb
↓
X
📄 source_list.rb
↓
X
📄 source_map.rb
↓
X
📄 spec_set.rb
↓
X
📄 stub_specification.rb
↓
X
📁 templates/
X
📁 ui/
X
📄 ui.rb
↓
X
📄 uri_credentials_filter.rb
↓
X
📁 vendor/
X
📄 vendored_fileutils.rb
↓
X
📄 vendored_molinillo.rb
↓
X
📄 vendored_persistent.rb
↓
X
📄 vendored_thor.rb
↓
X
📄 vendored_tmpdir.rb
↓
X
📄 vendored_uri.rb
↓
X
📄 version.rb
↓
X
📄 version_ranges.rb
↓
X
📄 vlad.rb
↓
X
📄 worker.rb
↓
X
📄 yaml_serializer.rb
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: gem_helpers.rb
# frozen_string_literal: true module Bundler module GemHelpers GENERIC_CACHE = { Gem::Platform::RUBY => Gem::Platform::RUBY } # rubocop:disable Style/MutableConstant GENERICS = [ [Gem::Platform.new("java"), Gem::Platform.new("java")], [Gem::Platform.new("mswin32"), Gem::Platform.new("mswin32")], [Gem::Platform.new("mswin64"), Gem::Platform.new("mswin64")], [Gem::Platform.new("universal-mingw32"), Gem::Platform.new("universal-mingw32")], [Gem::Platform.new("x64-mingw32"), Gem::Platform.new("x64-mingw32")], [Gem::Platform.new("x86_64-mingw32"), Gem::Platform.new("x64-mingw32")], [Gem::Platform.new("mingw32"), Gem::Platform.new("x86-mingw32")], ].freeze def generic(p) GENERIC_CACHE[p] ||= begin _, found = GENERICS.find do |match, _generic| p.os == match.os && (!match.cpu || p.cpu == match.cpu) end found || Gem::Platform::RUBY end end module_function :generic def generic_local_platform generic(local_platform) end module_function :generic_local_platform def local_platform Bundler.local_platform end module_function :local_platform def platform_specificity_match(spec_platform, user_platform) spec_platform = Gem::Platform.new(spec_platform) PlatformMatch.specificity_score(spec_platform, user_platform) end module_function :platform_specificity_match def select_best_platform_match(specs, platform) matching = specs.select {|spec| spec.match_platform(platform) } exact = matching.select {|spec| spec.platform == platform } return exact if exact.any? sorted_matching = matching.sort_by {|spec| platform_specificity_match(spec.platform, platform) } exemplary_spec = sorted_matching.first sorted_matching.take_while{|spec| same_specificity(platform, spec, exemplary_spec) && same_deps(spec, exemplary_spec) } end module_function :select_best_platform_match class PlatformMatch def self.specificity_score(spec_platform, user_platform) return -1 if spec_platform == user_platform return 1_000_000 if spec_platform.nil? || spec_platform == Gem::Platform::RUBY || user_platform == Gem::Platform::RUBY os_match(spec_platform, user_platform) + cpu_match(spec_platform, user_platform) * 10 + platform_version_match(spec_platform, user_platform) * 100 end def self.os_match(spec_platform, user_platform) if spec_platform.os == user_platform.os 0 else 1 end end def self.cpu_match(spec_platform, user_platform) if spec_platform.cpu == user_platform.cpu 0 elsif spec_platform.cpu == "arm" && user_platform.cpu.to_s.start_with?("arm") 0 elsif spec_platform.cpu.nil? || spec_platform.cpu == "universal" 1 else 2 end end def self.platform_version_match(spec_platform, user_platform) if spec_platform.version == user_platform.version 0 elsif spec_platform.version.nil? 1 else 2 end end end def same_specificity(platform, spec, exemplary_spec) platform_specificity_match(spec.platform, platform) == platform_specificity_match(exemplary_spec.platform, platform) end module_function :same_specificity def same_deps(spec, exemplary_spec) same_runtime_deps = spec.dependencies.sort == exemplary_spec.dependencies.sort return same_runtime_deps unless spec.is_a?(Gem::Specification) && exemplary_spec.is_a?(Gem::Specification) same_metadata_deps = spec.required_ruby_version == exemplary_spec.required_ruby_version && spec.required_rubygems_version == exemplary_spec.required_rubygems_version same_runtime_deps && same_metadata_deps end module_function :same_deps end end
SIMPAN PERUBAHAN