diff options
author | Olle Jonsson <olle.jonsson@auctionet.com> | 2020-04-19 18:06:02 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2020-06-05 07:32:42 +0900 |
commit | f61ee674d8c5871e8e81b1a7f5884635a0ee9803 (patch) | |
tree | aa956731f75c20eaa39b7366d0428155df685a77 | |
parent | dd5b918cbead5fdb641118aa4e4d90e013f90df1 (diff) | |
download | ruby-f61ee674d8c5871e8e81b1a7f5884635a0ee9803.tar.gz |
[rubygems/rubygems] Prefer start_with? and end_with? over regex.
- In one of the cases, filenames were checked for ending with "gz" -
this is changed to check for ending with ".gz"
- The change was made to make it even easier to read the code, and to
match only from the start of the input (as opposed to start of the
line)
https://github.com/rubygems/rubygems/commit/aac4290271
-rw-r--r-- | lib/rubygems/command.rb | 4 | ||||
-rw-r--r-- | lib/rubygems/remote_fetcher.rb | 2 | ||||
-rw-r--r-- | lib/rubygems/specification.rb | 2 | ||||
-rw-r--r-- | lib/rubygems/test_utilities.rb | 4 |
4 files changed, 7 insertions, 5 deletions
diff --git a/lib/rubygems/command.rb b/lib/rubygems/command.rb index 2fb3dab2fe..088f4add99 100644 --- a/lib/rubygems/command.rb +++ b/lib/rubygems/command.rb @@ -456,7 +456,9 @@ class Gem::Command until extra.empty? do ex = [] ex << extra.shift - ex << extra.shift if extra.first.to_s =~ /^[^-]/ + if (!extra.first.to_s.empty? && !extra.first.to_s.start_with?("-")) + ex << extra.shift + end result << ex if handles?(ex) end diff --git a/lib/rubygems/remote_fetcher.rb b/lib/rubygems/remote_fetcher.rb index e260926da8..da88ec4509 100644 --- a/lib/rubygems/remote_fetcher.rb +++ b/lib/rubygems/remote_fetcher.rb @@ -252,7 +252,7 @@ class Gem::RemoteFetcher data = send "fetch_#{uri.scheme}", uri, mtime, head - if data and !head and uri.to_s =~ /\.gz$/ + if data and !head and uri.to_s.end_with?(".gz") begin data = Gem::Util.gunzip data rescue Zlib::GzipFile::Error diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index ba90974657..1d698074b9 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -2104,7 +2104,7 @@ class Gem::Specification < Gem::BasicSpecification end if @specification_version > CURRENT_SPECIFICATION_VERSION and - sym.to_s =~ /=$/ + sym.to_s.end_with?("=") warn "ignoring #{sym} loading #{full_name}" if $DEBUG else super diff --git a/lib/rubygems/test_utilities.rb b/lib/rubygems/test_utilities.rb index 0edf3d6a61..0ad167b19a 100644 --- a/lib/rubygems/test_utilities.rb +++ b/lib/rubygems/test_utilities.rb @@ -49,7 +49,7 @@ class Gem::FakeFetcher path = path.to_s @paths << path - raise ArgumentError, 'need full URI' unless path =~ %r{^https?://} + raise ArgumentError, 'need full URI' unless path.start_with?("https://", "http://") unless @data.key? path raise Gem::RemoteFetcher::FetchError.new("no data for #{path}", path) @@ -67,7 +67,7 @@ class Gem::FakeFetcher if data.respond_to?(:call) data.call else - if path.to_s =~ /gz$/ and not data.nil? and not data.empty? + if path.to_s.end_with?(".gz") and not data.nil? and not data.empty? data = Gem::Util.gunzip data end data |