#  fq
class MessagesForUser < ActiveRecord::Base
  attr_accessible :message, :messager_id, :user_id
  belongs_to :user

  MESSAGE_LENGTH_LIMIT = 60
  
  validate :validate_user
  validate :validate_messager
  validates_presence_of :messager_id, :user_id, :message
  validates_length_of :message, :maximum => MESSAGE_LENGTH_LIMIT
  
  def self.leave_message(messager_id, user_id, message)
    unless messager_id == user_id
      @messages_for_user = self.new
      @messages_for_user.messager_id = messager_id
      @messages_for_user.user_id = user_id
      @messages_for_user.message = message
      @messages_for_user.save
      true
    else
      false
    end  
  end
  
  def self.find_message(user_id)
    user = User.find(user_id)
    @message_table_for_user = user.messages_for_users.to_a
    @message_table_for_user
  end
  
  def find_messager
    @messager = User.where(:id =>messager_id)
    @messager
  end
  
  def self.delete_message(message_id)
    MessagesForUser.delete_all "id = #{message_id}"
  end
  
  #验证user是否存在
  def validate_user
    errors.add :user_id, :invalid if user.nil? || !user.active?
  end
  
  #验证messager是否存在
  def validate_messager
    user = User.where("id = ?", messager_id).to_a.first
    errors.add :messager_id, :invalid if user.nil? || !user.active?
  end
end
