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
33 lines
579 B
Ruby
33 lines
579 B
Ruby
class EvaluationCommentEmail
|
|
attr_reader :comment
|
|
|
|
def initialize(comment)
|
|
@comment = comment
|
|
end
|
|
|
|
def commentable
|
|
comment.commentable
|
|
end
|
|
|
|
def to
|
|
@to ||= related_users
|
|
end
|
|
|
|
def subject
|
|
I18n.t("mailers.evaluation_comment.subject")
|
|
end
|
|
|
|
def can_be_sent?
|
|
commentable.present? && to.any?
|
|
end
|
|
|
|
private
|
|
|
|
def related_users
|
|
return [] if comment.commentable.nil?
|
|
comment.commentable
|
|
.admin_and_valuator_users_associated
|
|
.reject { |associated_user| associated_user.user == comment.author }
|
|
end
|
|
end
|