Remove URL methods in models

We can use `polymorphic_path` since commit ff93f5a591.
This commit is contained in:
Javi Martín
2021-12-05 16:18:53 +01:00
parent 697c1a4857
commit fa3781059c
5 changed files with 17 additions and 32 deletions

View File

@@ -6,7 +6,7 @@
<div> <div>
<span class="related-content-title"><%= t("related_content.content_title.#{related.model_name.singular}") %></span><br> <span class="related-content-title"><%= t("related_content.content_title.#{related.model_name.singular}") %></span><br>
<h3 class="inline-block"> <h3 class="inline-block">
<%= link_to related.title, related.url %> <%= link_to related.title, polymorphic_path(related) %>
</h3> </h3>
</div> </div>
<% if current_user && related_content.author != current_user && !related_content.scored_by_user?(current_user) %> <% if current_user && related_content.author != current_user && !related_content.scored_by_user?(current_user) %>

View File

@@ -2,7 +2,6 @@ class Budget
class Investment < ApplicationRecord class Investment < ApplicationRecord
SORTING_OPTIONS = { id: "id", supports: "cached_votes_up" }.freeze SORTING_OPTIONS = { id: "id", supports: "cached_votes_up" }.freeze
include Rails.application.routes.url_helpers
include Measurable include Measurable
include Sanitizable include Sanitizable
include Taggable include Taggable
@@ -123,10 +122,6 @@ class Budget
comments.count comments.count
end end
def url
budget_investment_path(budget, self)
end
def self.sort_by_title def self.sort_by_title
all.sort_by(&:title) all.sort_by(&:title)
end end

View File

@@ -1,7 +1,6 @@
require "numeric" require "numeric"
class Debate < ApplicationRecord class Debate < ApplicationRecord
include Rails.application.routes.url_helpers
include Flaggable include Flaggable
include Taggable include Taggable
include Conflictable include Conflictable
@@ -53,10 +52,6 @@ class Debate < ApplicationRecord
attr_accessor :link_required attr_accessor :link_required
def url
debate_path(self)
end
def self.recommendations(user) def self.recommendations(user)
tagged_with(user.interests, any: true).where.not(author_id: user.id) tagged_with(user.interests, any: true).where.not(author_id: user.id)
end end

View File

@@ -1,5 +1,4 @@
class Proposal < ApplicationRecord class Proposal < ApplicationRecord
include Rails.application.routes.url_helpers
include Flaggable include Flaggable
include Taggable include Taggable
include Conflictable include Conflictable
@@ -88,10 +87,6 @@ class Proposal < ApplicationRecord
scope :draft, -> { where(published_at: nil) } scope :draft, -> { where(published_at: nil) }
scope :created_by, ->(author) { where(author: author) } scope :created_by, ->(author) { where(author: author) }
def url
proposal_path(self)
end
def publish def publish
update!(published_at: Time.current) update!(published_at: Time.current)
send_new_actions_notification_on_published send_new_actions_notification_on_published

View File

@@ -8,25 +8,25 @@ shared_examples "relationable" do |relationable_model_name|
scenario "related contents are listed" do scenario "related contents are listed" do
create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user)) create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
visit relationable.url visit polymorphic_path(relationable)
within("#related-content-list") do within("#related-content-list") do
expect(page).to have_content related1.title expect(page).to have_content related1.title
end end
visit related1.url visit polymorphic_path(related1)
within("#related-content-list") do within("#related-content-list") do
expect(page).to have_content relationable.title expect(page).to have_content relationable.title
end end
end end
scenario "related contents list is not rendered if there are no relations" do scenario "related contents list is not rendered if there are no relations" do
visit relationable.url visit polymorphic_path(relationable)
expect(page).not_to have_css "#related-content-list" expect(page).not_to have_css "#related-content-list"
end end
scenario "related contents can be added" do scenario "related contents can be added" do
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
expect(page).not_to have_css "#related_content" expect(page).not_to have_css "#related_content"
expect(page).to have_css ".add-related-content[aria-expanded='false']" expect(page).to have_css ".add-related-content[aria-expanded='false']"
@@ -36,7 +36,7 @@ shared_examples "relationable" do |relationable_model_name|
expect(page).to have_css ".add-related-content[aria-expanded='true']" expect(page).to have_css ".add-related-content[aria-expanded='true']"
within("#related_content") do within("#related_content") do
fill_in "Link to related content", with: "#{url}#{related1.url}" fill_in "Link to related content", with: "#{url}#{polymorphic_path(related1)}"
click_button "Add" click_button "Add"
end end
@@ -44,7 +44,7 @@ shared_examples "relationable" do |relationable_model_name|
expect(page).to have_content related1.title expect(page).to have_content related1.title
end end
visit related1.url visit polymorphic_path(related1)
within("#related-content-list") do within("#related-content-list") do
expect(page).to have_content relationable.title expect(page).to have_content relationable.title
@@ -53,7 +53,7 @@ shared_examples "relationable" do |relationable_model_name|
click_button "Add related content" click_button "Add related content"
within("#related_content") do within("#related_content") do
fill_in "Link to related content", with: "#{url}#{related2.url}" fill_in "Link to related content", with: "#{url}#{polymorphic_path(related2)}"
click_button "Add" click_button "Add"
end end
@@ -64,7 +64,7 @@ shared_examples "relationable" do |relationable_model_name|
scenario "if related content URL is invalid returns error" do scenario "if related content URL is invalid returns error" do
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
click_button "Add related content" click_button "Add related content"
@@ -78,12 +78,12 @@ shared_examples "relationable" do |relationable_model_name|
scenario "returns error when relating content URL to itself" do scenario "returns error when relating content URL to itself" do
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
click_button "Add related content" click_button "Add related content"
within("#related_content") do within("#related_content") do
fill_in "Link to related content", with: url + relationable.url.to_s fill_in "Link to related content", with: url + polymorphic_path(relationable)
click_button "Add" click_button "Add"
end end
@@ -102,7 +102,7 @@ shared_examples "relationable" do |relationable_model_name|
related = create(:debate, title: "My path is the only one I've walked") related = create(:debate, title: "My path is the only one I've walked")
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
click_button "Add related content" click_button "Add related content"
@@ -120,12 +120,12 @@ shared_examples "relationable" do |relationable_model_name|
scenario "returns an error when the related content already exists" do scenario "returns an error when the related content already exists" do
create(:related_content, parent_relationable: relationable, child_relationable: related1) create(:related_content, parent_relationable: relationable, child_relationable: related1)
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
click_button "Add related content" click_button "Add related content"
within("#related_content") do within("#related_content") do
fill_in "url", with: url + related1.url.to_s fill_in "url", with: url + polymorphic_path(related1)
click_button "Add" click_button "Add"
end end
@@ -136,7 +136,7 @@ shared_examples "relationable" do |relationable_model_name|
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user)) related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
within("#related-content-list") do within("#related-content-list") do
click_link "Yes" click_link "Yes"
@@ -153,7 +153,7 @@ shared_examples "relationable" do |relationable_model_name|
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user)) related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
within("#related-content-list") do within("#related-content-list") do
click_link "No" click_link "No"
@@ -179,7 +179,7 @@ shared_examples "relationable" do |relationable_model_name|
login_as(user) login_as(user)
visit relationable.url visit polymorphic_path(relationable)
expect(page).not_to have_css "#related-content-list" expect(page).not_to have_css "#related-content-list"
end end