diff options
| author | Samuel Giddins <segiddins@segiddins.me> | 2023-10-24 11:23:51 -0500 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2023-10-25 18:51:37 +0000 |
| commit | 7e7d1f0679d7cbfc43d4157435317ae2f961b995 (patch) | |
| tree | cae0cb2a4be2b478c6b147a79ddcb0382efb43a0 | |
| parent | b0a970736491a8a5a1839ff698b85bbab676ba56 (diff) | |
[rubygems/rubygems] Avoid regexp match on every call to `Gem::Platform.local`
The result of `arch` would be ignored if `@local` is set, so wrap all
the logic in `@local ||=` to short-circuit everything
https://github.com/rubygems/rubygems/commit/b67d39f3e0
| -rw-r--r-- | lib/rubygems/platform.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/rubygems/platform.rb b/lib/rubygems/platform.rb index 93e33383fd..5c5abdc2e2 100644 --- a/lib/rubygems/platform.rb +++ b/lib/rubygems/platform.rb @@ -13,9 +13,11 @@ class Gem::Platform attr_accessor :cpu, :os, :version def self.local - arch = RbConfig::CONFIG["arch"] - arch = "#{arch}_60" if /mswin(?:32|64)$/.match?(arch) - @local ||= new(arch) + @local ||= begin + arch = RbConfig::CONFIG["arch"] + arch = "#{arch}_60" if /mswin(?:32|64)$/.match?(arch) + new(arch) + end end def self.match(platform) |
