purchase method supports false value for incomplete param

In ruby, false and nil and non-truthy values. This change changes the condition from an explicit nil check (which does not work for false values) to one that checks truthiness.