Preheat the oven to 350°F (175°C).
Grease and flour a 9-inch round cake pan.
In a large mixing bowl, whisk together the dry ingredients: flour, sugar, cocoa powder, baking soda, and salt.
In a separate bowl, beat the eggs. Then, add the ricotta, oil, and vanilla extract, mixing until smooth.
Add the wet mixture to the dry ingredients and mix until just combined.
Pour the batter into the prepared cake pan and smooth the top.
Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted in the center comes out clean.
Let the cake cool in the pan for 10 minutes, then transfer to a wire rack to cool completely.
In a medium bowl, combine the instant chocolate pudding mix and heavy cream.
Whip the mixture until soft peaks form, being careful not to overwhip.
Spread the pudding frosting over the cooled cake, smoothing it out evenly.
Garnish with chocolate shavings if desired.