diff options
-rw-r--r-- | lib/bundler/endpoint_specification.rb | 11 | ||||
-rw-r--r-- | spec/bundler/install/gems/fund_spec.rb | 42 |
2 files changed, 32 insertions, 21 deletions
diff --git a/lib/bundler/endpoint_specification.rb b/lib/bundler/endpoint_specification.rb index 87cb352efa..201818cc33 100644 --- a/lib/bundler/endpoint_specification.rb +++ b/lib/bundler/endpoint_specification.rb @@ -92,6 +92,17 @@ module Bundler end end + # needed for `bundle fund` + def metadata + if @remote_specification + @remote_specification.metadata + elsif _local_specification + _local_specification.metadata + else + super + end + end + def _local_specification return unless @loaded_from && File.exist?(local_specification_path) eval(File.read(local_specification_path), nil, local_specification_path).tap do |spec| diff --git a/spec/bundler/install/gems/fund_spec.rb b/spec/bundler/install/gems/fund_spec.rb index 9aadc9ed25..c0d72b9c50 100644 --- a/spec/bundler/install/gems/fund_spec.rb +++ b/spec/bundler/install/gems/fund_spec.rb @@ -31,8 +31,8 @@ RSpec.describe "bundle install" do context "when gems include a fund URI" do it "displays the plural fund message after installing" do - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo2" gem 'has_funding_and_other_metadata' gem 'has_funding' gem 'rack-obama' @@ -42,8 +42,8 @@ RSpec.describe "bundle install" do end it "displays the singular fund message after installing" do - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo2" gem 'has_funding' gem 'rack-obama' G @@ -58,8 +58,8 @@ RSpec.describe "bundle install" do end it "does not display the plural fund message after installing" do - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo2" gem 'has_funding_and_other_metadata' gem 'has_funding' gem 'rack-obama' @@ -69,8 +69,8 @@ RSpec.describe "bundle install" do end it "does not display the singular fund message after installing" do - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo2" gem 'has_funding' gem 'rack-obama' G @@ -81,8 +81,8 @@ RSpec.describe "bundle install" do context "when gems do not include fund messages" do it "does not display any fund messages" do - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo2" gem "activesupport" G @@ -92,8 +92,8 @@ RSpec.describe "bundle install" do context "when a dependency includes a fund message" do it "does not display the fund message" do - install_gemfile <<-G - source "#{file_uri_for(gem_repo2)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo2" gem 'gem_with_dependent_funding' G @@ -110,8 +110,8 @@ RSpec.describe "bundle install" do "funding_uri" => "https://example.com/also_has_funding/funding", } end - install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo1" gem 'also_has_funding', :git => '#{lib_path("also_has_funding-1.0")}' G @@ -124,8 +124,8 @@ RSpec.describe "bundle install" do "funding_uri" => "https://example.com/also_has_funding/funding", } end - install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo1" gem 'also_has_funding', :git => '#{lib_path("also_has_funding-1.0")}' G @@ -134,8 +134,8 @@ RSpec.describe "bundle install" do "funding_uri" => "https://example.com/also_has_funding/funding", } end - install_gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + install_gemfile <<-G, artifice: "compact_index" + source "https://gem.repo1" gem 'also_has_funding', :git => '#{lib_path("also_has_funding-1.1")}' G @@ -149,14 +149,14 @@ RSpec.describe "bundle install" do } end gemfile <<-G - source "#{file_uri_for(gem_repo1)}" + source "https://gem.repo1" gem 'also_has_funding', :git => '#{lib_path("also_has_funding-1.0")}' G - bundle :install + bundle :install, artifice: "compact_index" expect(out).to include("1 installed gem you directly depend on is looking for funding.") - bundle :install + bundle :install, artifice: "compact_index" expect(out).to include("1 installed gem you directly depend on is looking for funding.") end end |