If he's up and moving, not completely depressed, that's a good sign. If you have a rectal thermometer, you can take his temp. Normal range for dogs is 100F to 102.5F. Anything over 104 is high enough that I'd say seek a vet tonight. Anything 105 and over is an absolute emergency visit. If you can take his temp, and its slightly high, you can use rubbing alcohol on his pads (soaked washcloths placed on feet) to cool him, and make sure he's on a cool floor (no bedding/ blankets/carpet if you can avoid it).
Other than that, if all has stopped, you can see how he's doing in the morning. The blood in the diarrhea sounds as if it didn't start right away, so it's likely caused just from the irritation of having had diarrhea a few times today. If he continues to vomit and have diarrhea tonight, then I would not wait, as a little dog like this can get dehydrated fast, and the vet can at least perk him up with some fluids and start on some antibiotics.
He could have picked up a bacterial infection, an intestinal parasite, or eaten something which has upset his stomach.
If keeping him home for the night, make sure he has access to fresh water, but do not feed him tonight. If no vomiting by moring either, start with a bland diet of boiled chicken and rice, 1:1 ratio. If he vomits it up, he should seek vet care. Otherwise, keep him on this diet for 2-3 days until stools are forming, then slowly mix in his regular food.
Hope this makes sense. Please reply if I can help further.
-The hiding is due to his not feeling well.