spew one’s guts
spew (one's) guts (out)
1. slang To speak truthfully and share everything one knows about something, especially a sensitive issue or a wrong one has committed. OK, spew your guts—I want to hear whatever you kids are plotting back there. I'm sorry, I didn't mean to just spew my guts out like that. I just haven't had anyone to talk to about what happened.
2. slang To vomit violently and lengthily. I've been spewing my guts all morning, so, no, I don't think I'll be in to work today. My friends got me so drunk on my 21st birthday that I spent the whole next day spewing my guts out.