GitHub User: jakevose
I spent a bunch of time researching providers because of the common theme in licensing terms, even with Geocoder.ca.
For the giants (Google, Yahoo, Bing) you are prohibited from doing anything for free other than displaying on their mapping API, including caching the results. Geocoder.ca requires you to be non-profit and provide attribution.
I eventually settled on GIS @ USC -- their terms are much less restrictive, I don't mind giving them attribution, and past the free 2500 transactions they're incredibly cheap in comparison to other commercial licenses (10k transactions = $20, 1M transactions = $1600.)
Handling the web service was a minimal amount of code using Net::HTTP::Post for transport, Nokogiri parses the XML, and I can cache results without worry. Maybe not the solution for everyone, but pretty well what I was looking for! Hope this helps someone...
Hi! I started with the code from this screencast, switched it to ModestModel to remove the persistence, and then moved over to Mongoid. Just wanted to say thanks!