Refactoring VAT in SpreeCommerce and Solidus
The largest e-commerce Rails engine in Existence, SpreeCommerce, was built in North America. North America has different rules for taxing Sales on-line than Germany (most of the rest of the world, actually).
For a client I had to refactor Spree's taxation system so that it can do some of the weirder things Germany / the EU need. This is a fascinating story with lots of funny code!
In October 2015, Spree Commerce Inc. ceased maintaining SpreeCommerce. As a result, a large part of the community moved to the fork Solidus - but my code hadn't. So I embarked on a side project to refactor taxes there as well, given I'd done it once before, and this time do a better job at it.
This talk is great for - first-time contributors (because I didn't have a lot of GitHub bathroom tiles when I started this) - anyone working with large legacy codebases (because it has some fun insights on what to do and what to avoid) - Ruby trivia addicts (because there's some really really undecipherable code in there)
I will give this talk at SolidusConf in May this year. The Rug::B edition would be somewhat reduced in scope, as I can't expect the audience to be as familiar with the codebase. It is a technical talk, by all means.
Taxes are, btw, boring. Doing them well in Ruby - not so much!