Two issues with patches:
1) A blank OpenID URL raises InvalidOpenID error. This isn't mentioned in the docs, and I don't think is very nice behavior anyway. I'd prefer it just to fail as other authentication failures do (i.e. without an exception)
http://github.com/xaviershay/open_id_authentication/commit/201f9f7edd7b2c8fb4d43b060c55f4c8f5a45236
Josh has suggested a new result code, which is probably a good idea.
2) Result#=== The === doesn't work because case compares the other way around. In other words it calls Symbol#=== not Result#===. I can't see a good use case for the :unsuccessful case (esp. since none are provided in the docs) - just use Result#unsuccessful?
http://github.com/xaviershay/open_id_authentication/commit/635be07acd53933ace7f593a30514b1b2db75de2
These 2 changes can potentially break stuff, but I reckon' it's for the best.
Any objections? Feel free to discuss specifics on the commit comments at github.
Xavier