Fiancé took his ring back

My fiancé took the ring back three weeks after proposing. He got angry at me for not really wanting to go to a party, even though I compromised and agreed to go he was mad about my initial lack of enthusiasm. After that, everything I did or said seemed wrong. He gave me the cold shoulder, he seemed unbothered when I was crying, trying to resolve the fight. He keeps making sarcastic comments, criticizing my looks or implying that I’m dumb. In his eyes everything seems to be wrong with me: I’m boring, unattractive, annoying and childish, I don’t take care of him enough.

Its true that he’s done a lot for me but since he gave me the ring, he’s been expecting me to pay for everything, as if I had to repay him. He told me he has more fun talking to any other girl than to me. He even went as far as to say I’d didn’t deserve the money I earn by doing web translations (We are both full time engineering student, this is just a small job on the side), because I have done nothing to be this smart, I’m just lucky, as opposed to him, who has to change tires for much less money and “actually work”. Overall he’s been a jerk to me and it peaked when he reached into my drawer and took the ring out saying I was definitely not the woman it was meant for. I apologized and remained nice to him, I did everything for him to enjoy the weekend. His behavior became more acceptable, though he didn’t completely go back to normal, he still had a few harsh comments to make, like comparing me to his ex in the middle of sex. I tried to push him to break up with me if he was as unhappy as he said but he didn’t want to, he said that would be “too easy on me”. Last night when he left he said he might give me the ring back if I kept proving him I’m deserving of it. I know I’m not perfect, I can be a bitch at times, but I’ve always been loyal and devoted to him. Is this something I should accept and forgive? Should I just accept the ring if he decides to give it back? I feel like it has lost some of its value, a ring like that comes with a promise and he broke the promise by taking it away so easily. Am I being too idealistic?

He used to be a very bad boyfriend the first time around, I endured a year and a half of him talking to other women, including his ex, and being a total dick. He eventually broke up with me and slept with some other girl. He realized his mistake and begged for my forgiveness, which was the hardest thing I’ve even done. Since getting back together ten months ago he was adorable and the best boyfriend ever. However I had some trust issues and I really involuntarily tested him. I guess he resents me for that.