class ActsAsMentionable::Mention

Public Class Methods

add_mentionables_for_mentioner(mentioner, mentionables) click to toggle source
# File lib/acts_as_mentionable/mention.rb, line 31
def self.add_mentionables_for_mentioner mentioner, mentionables
  attributes_list = Array(mentionables).map { |mentionable| { mentionable: mentionable } }
  by_mentioners(mentioner).create! attributes_list
end
remove_mentionables_for_mentioner(mentioner, mentionables) click to toggle source
# File lib/acts_as_mentionable/mention.rb, line 27
def self.remove_mentionables_for_mentioner mentioner, mentionables
  by_mentioners(mentioner).by_mentionables(mentionables).delete_all
end

Private Instance Methods

validate_mentionable() click to toggle source
# File lib/acts_as_mentionable/mention.rb, line 42
def validate_mentionable
  errors.add :mentionable, :invalid unless mentionable.respond_to?(:mentionable?) && mentionable.mentionable?
end
validate_mentioner() click to toggle source
# File lib/acts_as_mentionable/mention.rb, line 38
def validate_mentioner
  errors.add :mentioner, :invalid unless mentioner.respond_to?(:mentioner?) && mentioner.mentioner?
end