octokit/octokit.objc — pull request #184 by robb (2014-05-09 12:17:42+00:00)
Title: [WIP] Mantle 2.0

This updates Octokit.objc to the upcoming 2.0 version of Mantle.

This serves primarily as a test of the migration path and to test the stability of Mantle 2.0.

Some of my findings:

* The change from implicit to explicit mappings is not made obvious by any warnings (not sure if it could be). I think this will bite some people in the back if don't have good test coverage for their model layer but I'm not sure how we can help them. I started by using `+mtl_identityPropertyMapWithModel:` to restore old behavior but I'll change that to explicit mappings later.
* Similarly, due to the absence of implicit mappings, I had a couple of parsing attempts fail due to an [illegal JSON mapping](https://github.com/Mantle/Mantle/pull/294). I'd like to give that particular error a higher visibility, maybe we can log it to the console the first time it occurs? Since you could consider it a programmer error, we could also throw an exception.
* Updating existing block-based transformers to the new error handling variety means untangling the different meanings of `nil`. I guess clients are on their own here but I appreciate any feedback on the calls I made for Octokit.
* Was `+mtl_dictionaryByRemovingEntriesWithKeys:` a public method? It changes its API from taking an `NSSet` to an `NSArray`. If it was public, it would be nice if we kept the old one around and deprecated it instead.

/cc @jspahrsummers