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
28 lines
668 B
Ruby
28 lines
668 B
Ruby
module FlagsHelper
|
|
def show_flag_action?(flaggable)
|
|
current_user && !own_flaggable?(flaggable) && !flagged?(flaggable)
|
|
end
|
|
|
|
def show_unflag_action?(flaggable)
|
|
current_user && !own_flaggable?(flaggable) && flagged?(flaggable)
|
|
end
|
|
|
|
private
|
|
|
|
def flagged?(flaggable)
|
|
if flaggable.is_a? Comment
|
|
@comment_flags[flaggable.id] unless flaggable.commentable_type == "Poll"
|
|
else
|
|
Flag.flagged?(current_user, flaggable)
|
|
end
|
|
end
|
|
|
|
def own_flaggable?(flaggable)
|
|
if flaggable.is_a? Comment
|
|
flaggable.user_id == current_user.id
|
|
else
|
|
flaggable.author_id == current_user.id
|
|
end
|
|
end
|
|
end
|