Preheat the oven to 350F. Line two muffin pans with cupcake liners.
In a large pot, combine the butter, oil, and Coke and heat on medium-high until butter melts and the mixture comes to a boil.
Whisk in the sugar, mixing until melted, then mix in the flour and baking soda.
Remove from heat, then add in the eggs, one at a time, whisking well after each addition. Add in the cocoa, milk, vinegar, salt, and vanilla.
Divide the batter evenly between 30 cupcakes. Bake for 20-25 minutes, until cupcakes are no longer jiggly and a toothpick inserted in the center comes out clean.
Let cool completely before frosting.
When ready to frost, beat the butter using a hand mixer until it's smooth and creamy. Add in two cups of the powdered sugar and beat in, then add the Coke and vanilla, and a pinch of salt.
Add in the remaining sugar, about a half cup at a time, until frosting is stiff enough to be piped. You might not need all the sugar! If the frosting is too stiff, you can add another small bit of Coke.
Decorate as desired, and top with Coca Cola gummies and straws!