well, a ring that has turned green is made from cheap metal (not stainless steel,silver or gold)...(i know quite a bit about jewelrey as well, i collect silver and gold jewelrey and can easily tell if somethings fake or plated). so the green colour has hapened because the shiny top coat of the metal has worn away with use. to help prevent it, you sould use clear or silver or whatever colour nailpolish matches the jewelrey colour, and coat it very few weeks to protect it. right now all you can do is use nailpolish of the same colour (or possibly acrylic paint) to coat over the parts that have discoloured
I'm not sure about recoloring.
But a trick I learned for all those items that turn green or turn the skin green is to use top coat on them.
Yes, top coat. like for your nails,
Just put a light coat of it over your jewelry.