[前][次][番号順一覧][スレッド一覧]

ruby-changes:67484

From: Daniel <ko1@a...>
Date: Tue, 31 Aug 2021 19:08:08 +0900 (JST)
Subject: [ruby-changes:67484] a508693f06 (master): [rubygems/rubygems] Remove defensive guards

https://git.ruby-lang.org/ruby.git/commit/?id=a508693f06

From a508693f06aefe30d2d83c9617541722ba6c8d66 Mon Sep 17 00:00:00 2001
From: Daniel Niknam <mhmd.niknam@g...>
Date: Sun, 22 Aug 2021 19:55:40 +1000
Subject: [rubygems/rubygems] Remove defensive guards

https://github.com/rubygems/rubygems/commit/dba130cd80
---
 lib/rubygems/printable_uri.rb           | 19 ++++---------------
 test/rubygems/test_gem_printable_uri.rb |  8 --------
 2 files changed, 4 insertions(+), 23 deletions(-)

diff --git a/lib/rubygems/printable_uri.rb b/lib/rubygems/printable_uri.rb
index 53d9fb7..0837c42 100644
--- a/lib/rubygems/printable_uri.rb
+++ b/lib/rubygems/printable_uri.rb
@@ -16,7 +16,7 @@ class Gem::PrintableUri https://github.com/ruby/ruby/blob/trunk/lib/rubygems/printable_uri.rb#L16
   def parse_uri
     @original_uri = Gem::UriParser.parse_uri(@original_uri)
     @uri = @original_uri.clone
-    redact_credential
+    redact_credential if valid_uri?
 
     self
   end
@@ -30,8 +30,6 @@ class Gem::PrintableUri https://github.com/ruby/ruby/blob/trunk/lib/rubygems/printable_uri.rb#L30
   end
 
   def original_password
-    return unless valid_uri?
-
     @original_uri.password
   end
 
@@ -42,40 +40,31 @@ class Gem::PrintableUri https://github.com/ruby/ruby/blob/trunk/lib/rubygems/printable_uri.rb#L40
   private
 
   def redact_credential
-    return unless redactable_credential?
-
     if token?
       @uri.user = 'REDACTED'
+      @credential_redacted = true
     elsif oauth_basic?
       @uri.user = 'REDACTED'
+      @credential_redacted = true
     elsif password?
       @uri.password = 'REDACTED'
+      @credential_redacted = true
     end
-
-    @credential_redacted = true
   end
 
   def redactable_credential?
-    return false unless valid_uri?
-
     password? || oauth_basic? || token?
   end
 
   def password?
-    return false unless valid_uri?
-
     !!@uri.password
   end
 
   def oauth_basic?
-    return false unless valid_uri?
-
     @uri.password == 'x-oauth-basic'
   end
 
   def token?
-    return false unless valid_uri?
-
     !@uri.user.nil? && @uri.password.nil?
   end
 end
diff --git a/test/rubygems/test_gem_printable_uri.rb b/test/rubygems/test_gem_printable_uri.rb
index c227fe6..c9127a4 100644
--- a/test/rubygems/test_gem_printable_uri.rb
+++ b/test/rubygems/test_gem_printable_uri.rb
@@ -63,10 +63,6 @@ class TestPrintableUri < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_printable_uri.rb#L63
     assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com").original_password
   end
 
-  def test_original_password_with_invalid_uri
-    assert_equal nil, Gem::PrintableUri.parse_uri("https://www.example.com:80index").original_password
-  end
-
   def test_original_password_with_empty_uri_object
     assert_equal nil, Gem::PrintableUri.parse_uri(URI("")).original_password
   end
@@ -75,10 +71,6 @@ class TestPrintableUri < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_printable_uri.rb#L71
     assert_equal "pass", Gem::PrintableUri.parse_uri(URI("https://user:pass@e...")).original_password
   end
 
-  def test_original_password_with_other_objects
-    assert_equal nil, Gem::PrintableUri.parse_uri(Object.new).original_password
-  end
-
   def test_to_s_with_user_pass
     assert_equal "https://user:REDACTED@e...", Gem::PrintableUri.parse_uri("https://user:pass@e...").to_s
   end
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]