A gold, ruby and diamond ring worn by American rapper Tupac Shakur during his last public appearance sold for $1 million at auction in New York on July 25.