PATH: //opt/alt/ruby30/share/rubygems/rubygems
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 available_set.rb
↓
X
📄 basic_specification.rb
↓
X
📄 bundler_version_finder.rb
↓
X
📄 command.rb
↓
X
📄 command_manager.rb
↓
X
📁 commands/
X
📄 compatibility.rb
↓
X
📄 config_file.rb
↓
X
📁 core_ext/
X
📁 defaults/
X
📄 defaults.rb
↓
X
📄 dependency.rb
↓
X
📄 dependency_installer.rb
↓
X
📄 dependency_list.rb
↓
X
📄 deprecate.rb
↓
X
📄 doctor.rb
↓
X
📄 errors.rb
↓
X
📄 exceptions.rb
↓
X
📁 ext/
X
📄 ext.rb
↓
X
📄 gem_runner.rb
↓
X
📄 gemcutter_utilities.rb
↓
X
📄 indexer.rb
↓
X
📄 install_default_message.rb
↓
X
📄 install_message.rb
↓
X
📄 install_update_options.rb
↓
X
📄 installer.rb
↓
X
📄 installer_uninstaller_utils.rb
↓
X
📄 local_remote_options.rb
↓
X
📄 mock_gem_ui.rb
↓
X
📄 name_tuple.rb
↓
X
📄 openssl.rb
↓
X
📁 optparse/
X
📄 optparse.rb
↓
X
📁 package/
X
📄 package.rb
↓
X
📄 package_task.rb
↓
X
📄 path_support.rb
↓
X
📄 platform.rb
↓
X
📄 psych_additions.rb
↓
X
📄 psych_tree.rb
↓
X
📄 query_utils.rb
↓
X
📄 rdoc.rb
↓
X
📄 remote_fetcher.rb
↓
X
📁 request/
X
📄 request.rb
↓
X
📁 request_set/
X
📄 request_set.rb
↓
X
📄 requirement.rb
↓
X
📁 resolver/
X
📄 resolver.rb
↓
X
📄 s3_uri_signer.rb
↓
X
📄 safe_yaml.rb
↓
X
📁 security/
X
📄 security.rb
↓
X
📄 security_option.rb
↓
X
📄 server.rb
↓
X
📁 source/
X
📄 source.rb
↓
X
📄 source_list.rb
↓
X
📄 spec_fetcher.rb
↓
X
📄 specification.rb
↓
X
📄 specification_policy.rb
↓
X
📁 ssl_certs/
X
📄 stub_specification.rb
↓
X
📄 text.rb
↓
X
📁 tsort/
X
📄 tsort.rb
↓
X
📄 uninstaller.rb
↓
X
📄 uri.rb
↓
X
📄 uri_formatter.rb
↓
X
📄 user_interaction.rb
↓
X
📁 util/
X
📄 util.rb
↓
X
📄 validator.rb
↓
X
📄 version.rb
↓
X
📄 version_option.rb
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: uri.rb
# frozen_string_literal: true ## # The Uri handles rubygems source URIs. # class Gem::Uri def initialize(source_uri) @parsed_uri = parse(source_uri) end def redacted return self unless valid_uri? if token? || oauth_basic? with_redacted_user elsif password? with_redacted_password else self end end def to_s @parsed_uri.to_s end def redact_credentials_from(text) return text unless valid_uri? && password? text.sub(password, 'REDACTED') end def method_missing(method_name, *args, &blk) if @parsed_uri.respond_to?(method_name) @parsed_uri.send(method_name, *args, &blk) else super end end def respond_to_missing?(method_name, include_private = false) @parsed_uri.respond_to?(method_name, include_private) || super end protected # Add a protected reader for the cloned instance to access the original object's parsed uri attr_reader :parsed_uri private ## # Parses the #uri, raising if it's invalid def parse!(uri) require "uri" raise URI::InvalidURIError unless uri # Always escape URI's to deal with potential spaces and such # It should also be considered that source_uri may already be # a valid URI with escaped characters. e.g. "{DESede}" is encoded # as "%7BDESede%7D". If this is escaped again the percentage # symbols will be escaped. begin URI.parse(uri) rescue URI::InvalidURIError URI.parse(URI::DEFAULT_PARSER.escape(uri)) end end ## # Parses the #uri, returning the original uri if it's invalid def parse(uri) return uri unless uri.is_a?(String) parse!(uri) rescue URI::InvalidURIError uri end def with_redacted_user clone.tap {|uri| uri.user = 'REDACTED' } end def with_redacted_password clone.tap {|uri| uri.password = 'REDACTED' } end def valid_uri? !@parsed_uri.is_a?(String) end def password? !!password end def oauth_basic? password == 'x-oauth-basic' end def token? !user.nil? && password.nil? end def initialize_copy(original) @parsed_uri = original.parsed_uri.clone end end
SIMPAN PERUBAHAN