Spree PORO This is an attempt to represent Spree's data model in Plain Old Ruby Objects. Why? TL;DR: Too many database calls, factories and callbacks makes Ryan a sadpanda. For a longer explanation as to why this project exists read my post.