Preheat your oven to 190 C and prepare your pan (I used a 6-inch round pan for this) by lightly greasing it with butter and keep aside.
Beat the butter and sugar together till light and fluffy, this will take about 2-3 minutes.
Now beat in one egg at a time, adding a little flour if your egg shows signs of curdling.
Add the milk, vanilla essence and rest of the flour and mix till just blended.
Divide the batter equally in six bowls.
Add one tsp of red color in bowl number 1.
Add one tsp of yellow color in bowl number 2.
Add one tsp of green color in bowl number 3.
Add one tsp of blue color in bowl number 4.
Add half a tsp of red color and half a tsp of yellow color in bowl number 5 to make orange color.
Add half a tsp of blue color and half a tsp of red color in bowl number 6 to make purple color.
Take six tbsp measures or 6 equal measure spoons at home and starting with purple, keep pouring one spoonful of each color in the center of the baking bowl. Let the batter spread by itself, when u pour spoon after spoon it will start to form the layers.
When you have finished pouring the batter, give the bowl couple of gentle taps on the kitchen counter to let go of any large air bubbles and bake in the preheated oven for about 3-40 minutes till the tooth pick comes out clean and the top of the cake bounces back when pressed.
Let it cool completely before frosting.
In the meanwhile, beat your butter and sugar till light and fluffy, mix a bit of blue color to give the sky color, add the milk if you feel the frosting is too thick.
After the cake is completely cool, spread the frosting on top and decorate with sprinkles and gems.