#coding=utf-8 module Trustie module At extend ActiveSupport::Concern module ClassMethods def act_as_at_message(content, send_id) self.send :define_method, :act_as_at_message_func do users = self[content].scan //m users && users.flatten.uniq.each do |uids| uids.split(",").each do |uid| if self.class.to_s == "JournalsForMessage" self.tidings << Tiding.new(user_id: uid, trigger_user_id: self[send_id], parent_container_id: self.jour_id, parent_container_type: self.jour_type, viewed: 0, tiding_type: "Mentioned") elsif self.class.to_s == "Message" self.tidings << Tiding.new(user_id: uid, trigger_user_id: self[send_id], parent_container_id: self.root_id, parent_container_type: "Message", viewed: 0, tiding_type: "Mentioned") elsif self.class.to_s == "Journal" self.tidings << Tiding.new(user_id: uid, trigger_user_id: self[send_id], parent_container_id: self.journalized_id, parent_container_type: self.journalized_type, viewed: 0, tiding_type: "Mentioned") end # self.at_messages << AtMessage.new(user_id: uid, sender_id: self[send_id]) end end end end end end end ActiveRecord::Base.send(:include, Trustie::At)