From 9275ddee92c1601be1cb50c77a98f2585442bc3a Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" Date: Sun, 7 Jun 2020 19:57:07 +0100 Subject: [PATCH] Add funding links to sidebar --- app/models/concerns/rubygem_searchable.rb | 1 + app/models/links.rb | 3 ++- app/models/rubygem.rb | 1 + config/locales/en.yml | 1 + lib/elastic_searcher.rb | 1 + test/unit/pusher_test.rb | 3 ++- test/unit/rubygem_searchable_test.rb | 1 + test/unit/rubygem_test.rb | 5 ++++- 8 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/models/concerns/rubygem_searchable.rb b/app/models/concerns/rubygem_searchable.rb index 5dfc1b7400e..7c09d586e96 100644 --- a/app/models/concerns/rubygem_searchable.rb +++ b/app/models/concerns/rubygem_searchable.rb @@ -35,6 +35,7 @@ def as_indexed_json(_options = {}) # rubocop:disable Metrics/MethodLength source_code_uri: versioned_links&.source_code_uri, bug_tracker_uri: versioned_links&.bug_tracker_uri, changelog_uri: versioned_links&.changelog_uri, + funding_uri: versioned_links&.funding_uri, yanked: versions.none?(&:indexed?), summary: latest_version&.summary, description: latest_version&.description, diff --git a/app/models/links.rb b/app/models/links.rb index 0d9630a100f..21f3fce97c2 100644 --- a/app/models/links.rb +++ b/app/models/links.rb @@ -8,7 +8,8 @@ class Links "wiki" => "wiki_uri", "mail" => "mailing_list_uri", "bugs" => "bug_tracker_uri", - "download" => "download_uri" + "download" => "download_uri", + "funding" => "funding_uri" }.freeze # Links available for non-indexed gems diff --git a/app/models/rubygem.rb b/app/models/rubygem.rb index 02c9e0e294b..4e8b28f782f 100644 --- a/app/models/rubygem.rb +++ b/app/models/rubygem.rb @@ -187,6 +187,7 @@ def payload(version = versions.most_recent, protocol = Gemcutter::PROTOCOL, host "source_code_uri" => versioned_links.source_code_uri, "bug_tracker_uri" => versioned_links.bug_tracker_uri, "changelog_uri" => versioned_links.changelog_uri, + "funding_uri" => versioned_links.funding_uri, "dependencies" => { "development" => deps.select { |r| r.rubygem && r.scope == "development" }, "runtime" => deps.select { |r| r.rubygem && r.scope == "runtime" } diff --git a/config/locales/en.yml b/config/locales/en.yml index ae99347fb05..20f8ae1932b 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -44,6 +44,7 @@ en: docs: Documentation URL mail: Mailing List URL wiki: Wiki URL + funding: Funding URL session: password: Password who: Email or Username diff --git a/lib/elastic_searcher.rb b/lib/elastic_searcher.rb index dba8d94245c..51b93a52993 100644 --- a/lib/elastic_searcher.rb +++ b/lib/elastic_searcher.rb @@ -99,6 +99,7 @@ def api_source wiki_uri documentation_uri mailing_list_uri + funding_uri source_code_uri bug_tracker_uri changelog_uri] diff --git a/test/unit/pusher_test.rb b/test/unit/pusher_test.rb index d8d94a63e87..1c63bcbd0a1 100644 --- a/test/unit/pusher_test.rb +++ b/test/unit/pusher_test.rb @@ -292,7 +292,7 @@ class PusherTest < ActiveSupport::TestCase end should "create rubygem index" do - @rubygem.update_column("updated_at", Date.new(2016, 07, 04)) + @rubygem.update_column("updated_at", Date.new(2016, 0o7, 0o4)) Delayed::Worker.new.work_off response = Rubygem.__elasticsearch__.client.get index: "rubygems-#{Rails.env}", type: "rubygem", @@ -317,6 +317,7 @@ class PusherTest < ActiveSupport::TestCase "source_code_uri" => "http://example.com", "bug_tracker_uri" => "http://example.com", "changelog_uri" => nil, + "funding_uri" => nil, "yanked" => false, "summary" => "old summary", "description" => "Some awesome gem", diff --git a/test/unit/rubygem_searchable_test.rb b/test/unit/rubygem_searchable_test.rb index 003c40daf31..8c80027d07c 100644 --- a/test/unit/rubygem_searchable_test.rb +++ b/test/unit/rubygem_searchable_test.rb @@ -45,6 +45,7 @@ class RubygemSearchableTest < ActiveSupport::TestCase mailing_list_uri: "http://example.com", source_code_uri: "http://example.com", bug_tracker_uri: "http://example.com", + funding_uri: "http://example.com", yanked: false, summary: "some summary", description: "some description", diff --git a/test/unit/rubygem_test.rb b/test/unit/rubygem_test.rb index db90509d79f..04075ea9ecd 100644 --- a/test/unit/rubygem_test.rb +++ b/test/unit/rubygem_test.rb @@ -458,7 +458,8 @@ class RubygemTest < ActiveSupport::TestCase "mailing_list_uri" => "http://example.com/mail", "source_code_uri" => "http://example.com/code", "bug_tracker_uri" => "http://example.com/bugs", - "changelog_uri" => "http://example.com/change" + "changelog_uri" => "http://example.com/change", + "funding_uri" => "http://example.com/funding" } ) @@ -471,6 +472,7 @@ class RubygemTest < ActiveSupport::TestCase assert_equal "http://example.com/code", hash["source_code_uri"] assert_equal "http://example.com/bugs", hash["bug_tracker_uri"] assert_equal "http://example.com/change", hash["changelog_uri"] + assert_equal "http://example.com/funding", hash["funding_uri"] end should "return version documentation url if metadata and linkset docs is empty" do @@ -498,6 +500,7 @@ class RubygemTest < ActiveSupport::TestCase assert_equal @rubygem.linkset.mail, hash["mailing_list_uri"] assert_equal @rubygem.linkset.code, hash["source_code_uri"] assert_equal @rubygem.linkset.bugs, hash["bug_tracker_uri"] + assert_equal @rubygem.linkset.funding, hash["funding_uri"] end should "return version documentation uri if linkset docs is empty" do