ebutterfly/EBPurchase — pull request #6 by brynbellomy (2012-07-15 12:16:38+00:00)
Title: Use different methods on EBPurchaseDelegate for "successfulPurchase" and "successfulRestore".

Granted, API simplicity is definitely a goal when writing libraries like this. However, it's also arguably pretty important to account for and clearly discriminate between the most likely states that the code will find itself in.

I'd say in this case, given how common it is for a user of the library to be writing code that restores purchases, it's worth adding an extra method to `EBPurchaseDelegate` in the interest of code clarity and ease-of-use. A purchase and a restore are conceptually pretty different, even if the code that gets executed in response to each is virtually identical.

FWIW, I'm probably inflating this argument a little, but only because I myself futzed around like a n00b for awhile trying to figure out why delegate methods for purchasing kept getting called during restore operations :P

If you're not into this, it'd also probably be just as good to add an extra `enum` parameter to the `-successfulPurchase` method that distinguishes between successful purchases and restores. I can send a pull request for that instead -- hit me up if that sounds better.