Abstract out and port to ruby the functionality of the shopify gem so poor developers who can't afford a mac can use it.