module ActsAsMentionable::ActiveRecordMethods

Public Instance Methods

acts_as_mentionable(mentionable_field) click to toggle source
# File lib/acts_as_mentionable/active_record_methods.rb, line 6
def acts_as_mentionable mentionable_field
  class_eval do
    cattr_reader :mentionable_field

    class_variable_set('@@mentionable_field', mentionable_field)
  end
  include ActsAsMentionable::Mentionable
end
acts_as_mentioner(mention_field) click to toggle source
# File lib/acts_as_mentionable/active_record_methods.rb, line 15
def acts_as_mentioner mention_field
  class_eval do
    cattr_reader :mention_field, :mention_parsed_field

    after_save :retrieve_mentions_callback, if: :need_retrieve_mentions? if self <= ActiveRecord::Base

    define_method(:need_retrieve_mentions?) { send "parsed_#{self.class.mention_field}_changed?" }

    define_method(:retrieve_mentions_callback) { nil }

    class_variable_set('@@mention_field', mention_field)
    class_variable_set('@@mention_parsed_field', "parsed_#{mention_field}".to_sym)
  end
  include ActsAsMentionable::Mentioner
end
mentionable?() click to toggle source
# File lib/acts_as_mentionable/active_record_methods.rb, line 32
def mentionable?
  false
end
mentioner?() click to toggle source
# File lib/acts_as_mentionable/active_record_methods.rb, line 36
def mentioner?
  false
end