A Ruby constraint solver