diff --git a/app/helpers/people_helper.rb b/app/helpers/people_helper.rb
index 0e455017e..40c79bb43 100644
--- a/app/helpers/people_helper.rb
+++ b/app/helpers/people_helper.rb
@@ -26,11 +26,9 @@ module PeopleHelper
end
def person_link(person, opts={})
- opts[:class] ||= ""
- opts[:class] << " self" if defined?(user_signed_in?) && user_signed_in? && current_user.person == person
- opts[:class] << " hovercardable" if defined?(user_signed_in?) && user_signed_in? && current_user.person != person
+ css_class = person_link_class(person, opts[:class])
remote_or_hovercard_link = Rails.application.routes.url_helpers.person_path(person).html_safe
- ""\
+ ""\
"#{html_escape_once(opts[:display_name] || person.name)}"\
.html_safe
end
@@ -46,11 +44,9 @@ module PeopleHelper
if opts[:to] == :photos
link_to person_image_tag(person, opts[:size]), person_photos_path(person)
else
- opts[:class] ||= ""
- opts[:class] << " self" if defined?(user_signed_in?) && user_signed_in? && current_user.person == person
- opts[:class] << " hovercardable" if defined?(user_signed_in?) && user_signed_in? && current_user.person != person
+ css_class = person_link_class(person, opts[:class])
remote_or_hovercard_link = Rails.application.routes.url_helpers.person_path(person).html_safe
- "
+ "
#{person_image_tag(person, opts[:size])}
".html_safe
end
@@ -79,4 +75,14 @@ module PeopleHelper
return Rails.application.routes.url_helpers.person_path(person, opts)
end
end
+
+ private
+
+ def person_link_class(person, css_class)
+ return css_class unless defined?(user_signed_in?) && user_signed_in?
+
+ return "#{css_class} self" if current_user.person == person
+
+ "#{css_class} hovercardable"
+ end
end