We were very inconsistent regarding these rules. Personally I prefer no empty lines around blocks, clases, etc... as recommended by the Ruby style guide [1], and they're the default values in rubocop, so those are the settings I'm applying. The exception is the `private` access modifier, since we were leaving empty lines around it most of the time. That's the default rubocop rule as well. Personally I don't have a strong preference about this one. [1] https://rubystyle.guide/#empty-lines-around-bodies
31 lines
780 B
Ruby
31 lines
780 B
Ruby
module FollowablesHelper
|
|
def followable_type_title(followable_type)
|
|
t("activerecord.models.#{followable_type.underscore}.other")
|
|
end
|
|
|
|
def followable_icon(followable)
|
|
{
|
|
proposals: "Proposal",
|
|
budget: "Budget::Investment"
|
|
}.invert[followable]
|
|
end
|
|
|
|
def render_follow(follow)
|
|
return unless follow.followable.present?
|
|
|
|
followable = follow.followable
|
|
partial = followable_class_name(followable) + "_follow"
|
|
locals = { followable_class_name(followable).to_sym => followable }
|
|
|
|
render partial, locals
|
|
end
|
|
|
|
def followable_class_name(followable)
|
|
followable.class.to_s.parameterize(separator: "_")
|
|
end
|
|
|
|
def find_or_build_follow(user, followable)
|
|
Follow.find_or_initialize_by(user: user, followable: followable)
|
|
end
|
|
end
|