Minimum required by consul core. Remove comments. Fix texts. Decrease size of methods.
This commit is contained in:
@@ -20,12 +20,16 @@ module WelcomeHelper
|
|||||||
end
|
end
|
||||||
|
|
||||||
def render_image(recommended, image_field, image_version, image_default)
|
def render_image(recommended, image_field, image_version, image_default)
|
||||||
image_path = if image_field.present? && image_version.present?
|
image_path = calculate_image_path(recommended, image_field, image_version, image_default)
|
||||||
|
image_tag(image_path) if image_path.present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def calculate_image_path(recommended, image_field, image_version, image_default)
|
||||||
|
if image_field.present? && image_version.present?
|
||||||
recommended.send("#{image_field}", image_version)
|
recommended.send("#{image_field}", image_version)
|
||||||
elsif image_default.present?
|
elsif image_default.present?
|
||||||
image_default
|
image_default
|
||||||
end
|
end
|
||||||
image_tag(image_path) if image_path.present?
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def calculate_carousel_size(debates, proposals, apply_offset)
|
def calculate_carousel_size(debates, proposals, apply_offset)
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ class Debate < ActiveRecord::Base
|
|||||||
|
|
||||||
def self.recommendations(user)
|
def self.recommendations(user)
|
||||||
debates_list = where("author_id != ?", user.id)
|
debates_list = where("author_id != ?", user.id)
|
||||||
# same as tagged_with(user.interests, any: true)
|
|
||||||
debates_list_with_tagged = debates_list.joins(:tags).where('taggings.taggable_type = ?', self.name).where('tags.name IN (?)', user.interests)
|
debates_list_with_tagged = debates_list.joins(:tags).where('taggings.taggable_type = ?', self.name).where('tags.name IN (?)', user.interests)
|
||||||
if debates_list_with_tagged.any?
|
if debates_list_with_tagged.any?
|
||||||
debates_list = debates_list_with_tagged
|
debates_list = debates_list_with_tagged
|
||||||
|
|||||||
@@ -59,17 +59,25 @@ class Proposal < ActiveRecord::Base
|
|||||||
|
|
||||||
def self.recommendations(user)
|
def self.recommendations(user)
|
||||||
proposals_list = where("author_id != ?", user.id)
|
proposals_list = where("author_id != ?", user.id)
|
||||||
# same as tagged_with(user.interests, any: true)
|
proposals_list_with_tagged = proposals_with_tagged(user, proposals_list)
|
||||||
proposals_list_with_tagged = proposals_list.joins(:tags).where('taggings.taggable_type = ?', self.name)
|
|
||||||
.where('tags.name IN (?)', user.interests)
|
|
||||||
if proposals_list_with_tagged.any?
|
if proposals_list_with_tagged.any?
|
||||||
followed_proposals_ids = Proposal.followed_by_user(user).pluck(:id)
|
proposals_list = proposals_not_followed_by_user(user, proposals_list_with_tagged)
|
||||||
proposals_list = proposals_list_with_tagged.where("proposals.id NOT IN (?)", followed_proposals_ids)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
proposals_list
|
proposals_list
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def proposals_with_tagged(user, proposals_list)
|
||||||
|
proposals_list.joins(:tags).where('taggings.taggable_type = ?', self.name)
|
||||||
|
.where('tags.name IN (?)', user.interests)
|
||||||
|
end
|
||||||
|
|
||||||
|
def proposals_not_followed_by_user(user, proposals_list_with_tagged)
|
||||||
|
followed_proposals_ids = Proposal.followed_by_user(user).pluck(:id)
|
||||||
|
proposals_list_with_tagged.where("proposals.id NOT IN (?)", followed_proposals_ids)
|
||||||
|
end
|
||||||
|
|
||||||
def to_param
|
def to_param
|
||||||
"#{id}-#{title}".parameterize
|
"#{id}-#{title}".parameterize
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -371,7 +371,7 @@ feature 'Debates' do
|
|||||||
expect(page).not_to have_selector('a', text: 'recommendations')
|
expect(page).not_to have_selector('a', text: 'recommendations')
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Debates are ordered by recommendations when there is an user logged', :js do
|
scenario 'Debates are ordered by recommendations when there is a user logged', :js do
|
||||||
user = create(:user)
|
user = create(:user)
|
||||||
login_as(user)
|
login_as(user)
|
||||||
|
|
||||||
|
|||||||
@@ -38,17 +38,13 @@ feature "Home" do
|
|||||||
|
|
||||||
scenario 'Display recommended section' do
|
scenario 'Display recommended section' do
|
||||||
debate = create(:debate)
|
debate = create(:debate)
|
||||||
|
|
||||||
visit root_path
|
visit root_path
|
||||||
|
|
||||||
expect(page).to have_content "Recommendations that may interest you"
|
expect(page).to have_content "Recommendations that may interest you"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Display recommended section when feature flag recommended is active' do
|
scenario 'Display recommended section when feature flag recommended is active' do
|
||||||
debate = create(:debate)
|
debate = create(:debate)
|
||||||
|
|
||||||
visit root_path
|
visit root_path
|
||||||
|
|
||||||
expect(page).to have_content "Recommendations that may interest you"
|
expect(page).to have_content "Recommendations that may interest you"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -72,9 +68,7 @@ feature "Home" do
|
|||||||
|
|
||||||
scenario 'Display all recommended debates link' do
|
scenario 'Display all recommended debates link' do
|
||||||
debate = create(:debate)
|
debate = create(:debate)
|
||||||
|
|
||||||
visit root_path
|
visit root_path
|
||||||
|
|
||||||
expect(page).to have_link("All recommended debates", href: debates_path(order: "recommendations"))
|
expect(page).to have_link("All recommended debates", href: debates_path(order: "recommendations"))
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -89,9 +83,7 @@ feature "Home" do
|
|||||||
|
|
||||||
scenario 'Display all recommended proposals link' do
|
scenario 'Display all recommended proposals link' do
|
||||||
debate = create(:proposal)
|
debate = create(:proposal)
|
||||||
|
|
||||||
visit root_path
|
visit root_path
|
||||||
|
|
||||||
expect(page).to have_link("All recommended proposals", href: proposals_path(order: "recommendations"))
|
expect(page).to have_link("All recommended proposals", href: proposals_path(order: "recommendations"))
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -116,17 +108,14 @@ feature "Home" do
|
|||||||
|
|
||||||
scenario 'Do not display recommended section when there are not debates and proposals' do
|
scenario 'Do not display recommended section when there are not debates and proposals' do
|
||||||
visit root_path
|
visit root_path
|
||||||
|
|
||||||
expect(page).not_to have_content "Recommendations that may interest you"
|
expect(page).not_to have_content "Recommendations that may interest you"
|
||||||
end
|
end
|
||||||
|
|
||||||
feature 'Carousel size' do
|
feature 'Carousel size' do
|
||||||
|
|
||||||
scenario 'Display debates centered when there is not proposals' do
|
scenario 'Display debates centered when there are no proposals' do
|
||||||
debate = create(:debate)
|
debate = create(:debate)
|
||||||
|
|
||||||
visit root_path
|
visit root_path
|
||||||
|
|
||||||
expect(page).to have_selector('.medium-centered.large-centered')
|
expect(page).to have_selector('.medium-centered.large-centered')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user