def approve(user)
      return false unless pending_inverse_friend_ids.include?(user.id) && user.pending_friend_ids.include?(self.id)
      pending_inverse_friend_ids.delete(user.id)
      user.pending_friend_ids.delete(self.id)
      inverse_friend_ids << user.id
      user.friend_ids << self.id
      self.save && user.save
    end
def approve(user)
      return false unless pending_inverse_friend_ids.include?(user.id) && user.pending_friend_ids.include?(self.id)
      pending_inverse_friend_ids.delete(user.id)
      user.pending_friend_ids.delete(self.id)
      inverse_friend_ids << user.id
      user.friend_ids << self.id
      self.save && user.save
    end
approve a friendship invitation. If the operation succeeds, the method returns true, else false