Skip to content

Commit 4fa3cd3

Browse files
committed
BUG-149: Fix compatibilities performance bug
Use fetcher instead of new when we use Gem::SpecFetcher Fixes: #149
1 parent af01649 commit 4fa3cd3

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

lib/next_rails/gem_info.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def unsatisfied_rails_dependencies(rails_version: nil)
109109

110110
def find_latest_compatible(rails_version: nil)
111111
dependency = Gem::Dependency.new(@name)
112-
fetcher = Gem::SpecFetcher.new
112+
fetcher = Gem::SpecFetcher.fetcher # Use fetcher instead of ::new to reduce object allocation.
113113

114114
# list all available data for released gems
115115
list, errors = fetcher.available_specs(:released)

spec/next_rails/gem_info_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
# Set up a mock SpecFetcher to return an empty list
8484
fetcher_double = double("spec_fetcher")
8585
allow(fetcher_double).to receive(:available_specs).and_return([[],[]])
86-
allow(Gem::SpecFetcher).to receive(:new).and_return(fetcher_double)
86+
allow(Gem::SpecFetcher).to receive(:fetcher).and_return(fetcher_double)
8787

8888
gem_info = NextRails::GemInfo.new(gem)
8989
gem_info.find_latest_compatible

0 commit comments

Comments
 (0)