Module: ActsAsMentionable::Mentioner
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/acts_as_mentionable/mentioner.rb
Instance Method Summary collapse
- #mention(*mentionables, save: false) ⇒ Object
- #mentionables ⇒ Object
- #mentioner? ⇒ Boolean
- #replace_mentionables(*mentionables, save: false) ⇒ Object
- #save_mentions ⇒ Object
- #unmention(*mentionables, save: false) ⇒ Object
Instance Method Details
#mention(*mentionables, save: false) ⇒ Object
20 21 22 23 |
# File 'lib/acts_as_mentionable/mentioner.rb', line 20 def mention *mentionables, save: false mentionables_manipulator.add(*mentionables) return_changes { save_mentions if save } end |
#mentionables ⇒ Object
16 17 18 |
# File 'lib/acts_as_mentionable/mentioner.rb', line 16 def mentionables RetrievePolymorphic.new(mentions, :mentionable).call end |
#mentioner? ⇒ Boolean
12 13 14 |
# File 'lib/acts_as_mentionable/mentioner.rb', line 12 def mentioner? true end |
#replace_mentionables(*mentionables, save: false) ⇒ Object
30 31 32 33 |
# File 'lib/acts_as_mentionable/mentioner.rb', line 30 def replace_mentionables *mentionables, save: false mentionables_manipulator.replace(*mentionables) return_changes { save_mentions if save } end |
#save_mentions ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/acts_as_mentionable/mentioner.rb', line 35 def save_mentions return unless mentionables_manipulator.changed? return_changes do MentionsUpdater.new(self, mentionables_manipulator.changes).call do fix_mentionables_changes! end end end |
#unmention(*mentionables, save: false) ⇒ Object
25 26 27 28 |
# File 'lib/acts_as_mentionable/mentioner.rb', line 25 def unmention *mentionables, save: false mentionables_manipulator.remove(*mentionables) return_changes { save_mentions if save } end |