From 65260f3d1ba3ce132cda5d90ca34a9df50c0a116 Mon Sep 17 00:00:00 2001 From: Keenan Brock Date: Sat, 26 Mar 2016 22:21:47 -0400 Subject: [PATCH] consolidate code that generates links --- app/helpers/rubygems_helper.rb | 10 ++++------ app/views/rubygems/show.html.erb | 2 +- test/unit/helpers/rubygems_helper_test.rb | 9 +++++---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/helpers/rubygems_helper.rb b/app/helpers/rubygems_helper.rb index 30feafa051f..520aae5cf64 100644 --- a/app/helpers/rubygems_helper.rb +++ b/app/helpers/rubygems_helper.rb @@ -11,8 +11,8 @@ def formatted_licenses(license_names) end end - def link_to_page(text, url) - link_to(text, url, rel: 'nofollow', class: ['gem__link', 't-list__item']) if url.present? + def link_to_page(id, url) + link_to(t(".links.#{id}"), url, rel: 'nofollow', class: ['gem__link', 't-list__item'], id: id) if url.present? end def link_to_directory @@ -65,14 +65,12 @@ def atom_link(rubygem) end def download_link(version) - link_to t('.links.download'), "/downloads/#{version.full_name}.gem", - class: 'gem__link t-list__item', id: :download + link_to_page :download, "/downloads/#{version.full_name}.gem" end def documentation_link(version, linkset) return unless linkset.nil? || linkset.docs.blank? - link_to t('.links.docs'), version.documentation_path, - class: 'gem__link t-list__item', id: :docs + link_to_page :docs, version.documentation_path end def badge_link(rubygem) diff --git a/app/views/rubygems/show.html.erb b/app/views/rubygems/show.html.erb index 738fa021f67..8190979d6d9 100644 --- a/app/views/rubygems/show.html.erb +++ b/app/views/rubygems/show.html.erb @@ -123,7 +123,7 @@ <% if @latest_version.indexed %> <% if @rubygem.linkset.present? %> <%- Linkset::LINKS.each do |link| %> - <%= link_to_page t("rubygems.show.links.#{link}"), @rubygem.linkset.public_send(link) %> + <%= link_to_page link, @rubygem.linkset.public_send(link) %> <%- end %> <% end %> diff --git a/test/unit/helpers/rubygems_helper_test.rb b/test/unit/helpers/rubygems_helper_test.rb index f2156f33f97..d3b79e85af5 100644 --- a/test/unit/helpers/rubygems_helper_test.rb +++ b/test/unit/helpers/rubygems_helper_test.rb @@ -94,22 +94,23 @@ class RubygemsHelperTest < ActionView::TestCase @linkset = build(:linkset) @linkset.wiki = nil @linkset.code = "" + @virtual_path = "rubygems.show" end should "create link for homepage" do - assert_match @linkset.home, link_to_page("Homepage", @linkset.home) + assert_match @linkset.home, link_to_page(:home, @linkset.home) end should "be a nofollow link" do - assert_match 'rel="nofollow"', link_to_page("Homepage", @linkset.home) + assert_match 'rel="nofollow"', link_to_page(:home, @linkset.home) end should "not create link for wiki" do - assert_nil link_to_page("Wiki", @linkset.wiki) + assert_nil link_to_page(:wiki, @linkset.wiki) end should "not create link for code" do - assert_nil link_to_page("Code", @linkset.code) + assert_nil link_to_page(:code, @linkset.code) end end