Have an object lit from all sides with rainbow rings

This is the best example of what I want to do, bu to any shape. No idea how to actually achieve that. I’ sure I could somehow achieve that by using shaders or altering the texture somehow, but I think a good approach would be through light.

The simplest way to do this on a 3D model would be to rotate the texture. This is a simple bit of scripting, the hard part is unwrapping and texturing your model in a way that works with the texture rotation.