You didn't say why and I am hoping you gave this some thought. Sit him down in a public place (safety, first) and explain to him what you're feeling. Give back the ring and anything of his you might have. Time to be calm and adult. Good luck!
Just be honest with him and tell him how you care about him but you do not feel in love with him. You should do this in person and not through a text message or email. Also be sensitive to his feelings and make sure he has support either from friends or relatives. You can also be friends with him as he gets some time to recover.
I don't think that you should humiliate him in public!! If you care at all do it privately! yes even men have feelings too! By doing it in public he thinks your think he' crazy and that's not what you want! You obviously loved him at one point and you need to remember that! Just let him down easy tell him how you feel and let him know that if there is doubt it is better to fi it now then while already married or worse have kids!!